У меня есть форма HomePage.aspx, содержащая пустую таблицу asp: Panel, раскрывающийся список, позволяющий пользователю выбрать SPFielType ... по индексу изменен, моя страница HomePage.aspx.cs получит выбранный текст и загрузит пользовательский элемент управления внутри панели этот пользовательский элемент управления сгенерирует элемент управления на основе spfieldtype, выбранного пользователем, и кнопки, вызывающей функцию validateForm () ... моя проблема в том, что функция Page_ClientValidate () внутри validateForm () не может найти валидатор, Я также попытался дать имя группы, но все еще не работает.
Когда я помещаю кнопку внутри своей страницы aspx (не рендеринг динамически), она проверяет мою страницу. (<asp:Button ID="submitbutton" Text="Validate" runat="server" />
).
Но когда я рендерил его динамически, я не могу проверить форму .. Это то, что я пытаюсь сделать:
protected override void CreateChildControls()
{
try
{
fieldRenderingControl = this.CreateFieldRenderingControl(this.FieldType);
this.Controls.Add(fieldRenderingControl);
Button button = new Button();
button.UseSubmitBehavior = false;
button.Text = "ValidateButton";
button.ID = "ValidateButton";
button.OnClientClick = "validateForm()";
this.Controls.Add(button);
RequiredFieldValidator newValidator = new RequiredFieldValidator();
newValidator.Text = "***";
newValidator.ID = "valideee";
newValidator.EnableClientScript = true;
newValidator.Enabled = true;
newValidator.SetFocusOnError = true;
newValidator.Display = ValidatorDisplay.Dynamic;
newValidator.ControlToValidate = fieldRenderingControl.ID;
this.Controls.Add(newValidator);
}
catch (Exception ex)
{
}
}
// функция CreateFieldRenderingControl () сгенерирует элемент управления на основе аргумента fieldType, выбранного пользователем.
Заранее спасибо.