Rob Howard Ответов: 2

Asp.net C# выбор даты в виде формы


Добрый вечер ребята,
Мне нужна помощь, и я надеюсь, что здесь есть кто-то поумнее.

В принципе, мне нужен выбор даты в виде формы на ASP.net страница C#.

Это то, что я придумал до сих пор, но просто не могу заставить вещи работать правильно.

&ЛТ;АСП:этот идентификатор="KeyDates_FV" атрибут runat="сервер" CellPadding="4" DataKeyNames="идентификатор" свойстве datasourceid="KeyDates_SQL" цвет="#333333" сетки="оба" метода ondatabound="KeyDates_FV_DataBound"&ГТ;
<edititemtemplate>
LAA_PlanDate:
&ЛТ;АСП:текстовое поле с ID="LAA_PlanDateTextBox" атрибут runat="сервер" текст=в'<%# Персонализация("LAA_PlanDate") %&ГТ;' /&ГТ;
&ЛТ;АСП:календарь ID="LAA_PlanDate_CAL" атрибут runat="сервер" цвет="белый" и GT;

&ЛТ;как ASP:ImageButton с ИД="LAA_PlanDate_IMB" атрибут runat="сервер" ImageAlign="дно" Url_изображения="~/изображения/Calendar_icon.формат PNG" ширина="16px и" /&ГТ;

Что я уже пробовал:

Заранее благодарю вас за любую помощь в этом вопросе.

CHill60

Вы должны объяснить нам, в чем проблема. "не могу заставить вещи работать правильно" - это слишком расплывчато.

F-ES Sitecore

Я бы, наверное, начал с просмотра документации и примеров, ваша наценка на календарь не выглядит действительной

https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.calendar?view=netframework-4.7.2

Rob Howard

Спасибо за ответы!
На неопределенный ответ, извините за это, была поздняя ночь, и я был готов отправиться на сено.
У меня есть представление формы на странице, которая будет отображать дату в виде метки под <itemtemplate> для представления формы. Это прекрасно работает. Но когда я нажимаю ссылку Изменить в представлении формы, я хотел бы иметь небольшое изображение календаря, которое будет щелкнуто и появится календарь. Как только появится календарь, вы сможете выбрать дату, и эта дата будет заполнена в текстовом поле.

Отметка календаря была просто календарем, который я бросил в представление формы. Ничего особенного в календаре пока нет. Я подумал, что сначала попробую взяться за самое трудное.

Имейте в виду, что я уже был в состоянии создать выбор даты за пределами представления формы. Но кажется, что как только я помещаю один и тот же код выбора даты (другую страницу) в представление формы, представление формы лает на меня. (Ссылка на объект не установлена на экземпляр объекта).

Я внес небольшое изменение (см. ниже) в код и добавил также сторону CS.

Этот
&ЛТ;АСП:этот идентификатор="KeyDates_FV" атрибут runat="сервер" CellPadding="4" DataKeyNames="идентификатор" свойстве datasourceid="KeyDates_SQL" цвет="#333333" сетки="оба" метода ondatabound="KeyDates_FV_DataBound"&ГТ;
<edititemtemplate>
LAA_PlanDate:
&ЛТ;АСП:текстовое поле с ID="LAA_PlanDateTextBox" атрибут runat="сервер" текст=в'<%# Персонализация("LAA_PlanDate") %&ГТ;' /&ГТ;
&ЛТ;АСП:календарь ID="LAA_PlanDate_CAL" атрибут runat="сервер" цвет="белый" видны="ложно"и GT;
&ЛТ;как ASP:ImageButton с ИД="LAA_PlanDate_IMB" атрибут runat="сервер" ImageAlign="дно" Url_изображения="~/изображения/Calendar_icon.формат PNG" ширина="16px и" функция onclick="LAA_PlanDate_IMB_Click" /&ГТ;

Страница CS
охраняемых недействительными LAA_PlanDate_IMB_Click(объект отправителя, ImageClickEventArgs е)
{
Календарь LAA_PlanDate_CAL = (Календарь)FormView1.FindControl("LAA_PlanDate_CAL");
LAA_PlanDate_CAL.Видимое = истинное;
}

Еще раз спасибо за помощь заранее!

2 Ответов

Рейтинг:
14

Vincent Maverick Durano

Цитата:
вид формы лает на меня. (Ссылка на объект не установлена на экземпляр объекта).


Ваш идентификатор FormView был установлен на "KeyDates_FV", и в вашем коде вы используете FormView1.FindControl("LAA_PlanDate_CAL");

FormView1 во-первых, его не существует. Так что вы хотите сделать что-то вроде этого вместо этого:

Calendar LAA_PlanDate_CAL = (Calendar)KeyDates_FV.FindControl("LAA_PlanDate_CAL");


Рейтинг:
0

Rob Howard

Фейспалм! Фейспалм! Фейспалм!

@Vincent Maverick спасибо тебе ооочень большое! Я чувствую себя как задняя часть коровьего зада. Я уже две недели бьюсь головой о стол, чтобы понять это.

Спасибо! Спасибо! Спасибо!


Richard Deeming

Если вы хотите ответить на решение, нажмите кнопку "есть вопрос или комментарий?" кнопка под этим решением. НЕ опубликуйте свой ответ как новое "решение".