Отправка формы ASP.NET с помощью javascript — значение текстового поля не отправлено

У меня есть динамическая форма, написанная на ASP (C#). В page_load я добавляю текстовое поле, которое хочу отправить вместе с другими объектами.

Форма отправляется с тегом через javascript.

    HyperLink btnBuy = new HyperLink();       
    btnBuy.CssClass = "btnLinkBuy btnLinkCheckoutGreen";
    btnBuy.Attributes.Add("onmouseover", "GreenMouseOver()");
    btnBuy.Attributes.Add("onmouseout", "GreenMouseOut()");
    btnBuy.Attributes.Add("onclick", "javascript:postback()");
    btnBuy.NavigateUrl = "#";
    pnlVisaIcons.Controls.Add(btnBuy);

и сценарий

function postback() {
            document.getElementById("checkoutForm").submit();
}

в событии page_load я проверяю, IsPostBack ли это, и если это так, я вызываю функцию, которая обрабатывает отправленные данные. Однако, когда я проверяю контроллеры, они пусты. Лайкнул пост назад удалил все данные

Любые идеи?


person user829773    schedule 19.10.2011    source источник


Ответы (1)


Вам нужно добавить динамические элементы управления на PreInit, также вы должны добавить динамические элементы управления на каждую обратную передачу.

Обзор жизненного цикла страницы ASP.NET

person rick schott    schedule 19.10.2011
comment
Я забыл сказать: идентификатор моей формы - checkoutForm. Когда я нажимаю свою кнопку (href с onclick, который запускает действие отправки) в режиме отладки, я получаю доступ к обработчику событий Page_Load, и элементы управления формы не имеют значения. Это после того, как я динамически загрузил все элементы управления на страницу - person user829773; 19.10.2011