Изпращане на 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
Забравих да кажа: ID на формуляра ми е checkoutForm. Когато щраквам върху моя бутон (href с onclick, който задейства действието за изпращане) в режим на отстраняване на грешки, стигам до манипулатора на събитие Page_Load и контролите на формуляра нямат стойност. Това е след като динамично заредих всички контроли на страницата - person user829773; 19.10.2011