Я создал пользовательский веб-элемент управления для выбора даты. Он состоит из 3 dropdownlists. В своем событии selectedIndexChanged я проверяю дату, подобную этой.Отправка обратной передачи программно
protected void SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddList = sender as DropDownList;
if (ddlDays.SelectedIndex > 0 && ddlMonths.SelectedIndex > 0 && ddlYears.SelectedIndex > 0)
{
int day = ddlDays.SelectedIndex;
int month = ddlMonths.SelectedIndex;
int year = int.Parse(ddlMonths.SelectedValue);
try
{
DateTime date = new DateTime(year, month, day);
}
catch
{
if (OnDateNotValid != null)
OnDateNotValid("Entered date is not valid");
//Here I want to invoke PosBack on the page where I use this control
}
}
}
Я на самом деле получить текст предупреждения этикетки, чтобы изменить к описанию ошибки, но так как нет постбэка в виде этикетка не показывает. вот некоторые соображения: 1. Я поместил свойство AutoPostBack для dropdownlists в false, потому что перезагрузка страницы каждый раз после изменения itemindex является frasturating. 2. Я попытался надеть кнопку на элемент управления и вызвать его событие onbuttonclick, но это не сработало.
Теперь мне нужно отправить обратную ссылку на страницу, если мой элемент управления обнаружит, что дата недействительна.
P.S. Когда я помещаю точку прерывания в начало метода SelectedIndexChganged и изменяю индекс любого из dropdownlists, отладчик не останавливается на этой точке останова. Я присвоил этому методу все выпадающее событие SelectedIndexChanged.
панели Используйте обновление для этого и положить Контрактное внутри UpdatePanel. –
http://stackoverflow.com/questions/3591634/how-to-use-dopostback –
До сих пор используются панели обновления? Я прекратил использовать эти годы назад, потому что они раздуты. Видели многие проекты, использующие эти медленные, и для меня, кажется, и «легкий» выход из разработки приложений стиля ajax. – mickyjtwin