как динамически добавить элемент управления с проверкой - PullRequest
3 голосов
/ 03 марта 2012

На странице aspx есть кнопка с именем «добавить еще», если пользователь нажимает кнопку, будет добавлено новое текстовое поле с RequiredFieldValidator.

Я пытаюсь использовать код, подобный этому:1003 *

protected void btn_Click(object sender, EventArgs e)
    {
        TextBox control = new TextBox();
        control.Text = "";
        control.ID = "txt2";
        divMy.Controls.Add(control);//divMy is the container of all the textbox

        RequiredFieldValidator rfv2 = new RequiredFieldValidator();
        rfv2.ID = "rfv2";
        rfv.ControlToValidate = control.ID;
        rfv.ErrorMessage = "bbb";
        divV.Controls.Add(rfv2);//divV is the container of all validations.           
    }

Не работает.какой правильный способ достижения этой функции?

Любая помощь, спасибо.

1 Ответ

0 голосов
/ 03 марта 2012

Говоря, что это не работает, вы имеете в виду, что это может привести к появлению какой-либо ошибки или неправильной проверке?

Помните, что если вы хотите, чтобы эти элементы управления оставались видимыми после следующей обратной передачи, вы должны создать их заново. Я полагаю, что без дополнительного кода, воссоздающего элементы управления, он не будет работать правильно. Вы должны где-то сохранить количество ящиков (т.е. в скрытом поле) и воссоздать их в Page_Init или Page_Load. ID s элементов управления также должны быть уникальными и не должны меняться между постбэками.

Вы можете получить больше информации об этом здесь: http://msdn.microsoft.com/en-us/library/kyt0fzt1.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...