Я попытался установить его в коде, а также в разметке, но при нажатии кнопки «Далее» страница проверена, я хочу превзойти эту от происходящего и контроля, когда валидация должна произойти, а когда нет. Любые предложения или примеры кода будут оцененыУправление Wizard в ASP.NET - Как установить свойство NextButton Causesvalidation на false
ответ
Самый простой способ сделать это - удалить все элементы проверки правильности от WizardStep
, в которых проверка должна быть пропущена.
Однако, если вам нужна расширенная функциональность, вам необходимо установить свойство CausesValidation
свойств кнопок Next/Previous в вашем StepNavigationTemplate
вручную. Элемент управления ASP.NET Wizard не предоставляет свойства, позволяющие напрямую обращаться к элементам управления в NavigationTemplates, а также не предоставляет никаких свойств для доступа к NavigationTemplate. Таким образом, мы должны полагаться на метод FindControl
, чтобы выполнить весь поиск.
Удобная часть информации, которую я обнаружил при исследовании этой проблемы, состояла в том, что во время выполнения StepNavigationTemplate
имеет внутренний тип ASP.NET, называемый StepNavigationTemplateContainer
, и имеет идентификатор «StepNavigationTemplateContainerID». Это позволило мне найти StepNavigationTemplate
и, следовательно, кнопку «Далее».
код следующим образом:
protected void Wizard1_ActiveStepChanged(object sender, EventArgs e)
{
int step = Wizard1.ActiveStepIndex;
// Disable validation for Step 2. (index is zero-based)
if (step == 1)
{
ToggleValidation(false);
}
else // Enable validation for subsequent steps.
{
ToggleValidation(true);
}
}
private void ToggleValidation(bool flag)
{
WebControl stepNavTemplate = this.Wizard1.FindControl("StepNavigationTemplateContainerID") as WebControl;
if (stepNavTemplate != null)
{
Button b = stepNavTemplate.FindControl("StepNextButton") as Button;
if (b != null)
{
b.CausesValidation = flag;
}
}
}
Событие Wizard1_ActiveStepChanged не вызывает увольнения. – chugh97
Вам придется подключить его, приятель! Используйте вкладку «Событие» окна «Свойства Visual Studio». – Cerebrus
Я подключил его, но это событие не стреляет. Должен ли я увеличивать ActiveStepIndex в eventhanlder NextButtonClick, чтобы он срабатывал? – chugh97
ли это работать? Лемм знает, нужна ли вам дополнительная помощь! ;-) – Cerebrus