2011-06-28 34 views
0

我在asp.net 3.5上工作。我有一個要求,就像動態生成一個類型='radio'的html輸入控件列表。我寫了一個onclick()事件所有的控件。所以如果我點擊任何無線電控制,它將轉到JavaScript函數,然後它將提交表單。基於單擊的無線電輸入的值,相關數據將加載到另一個控件。在asp.net中回發後不能保留控制狀態

所有功能都正常工作。 但現在我的問題是頁面提交後(回發後)單擊的無線電輸入未檢查。 那麼如何保留點擊單選按鈕的狀態。

其實我將單擊的單選按鈕存儲在javascript函數的隱藏字段中。然後我試圖從該隱藏字段中檢索值並將其轉換爲單選按鈕以將屬性checked = true.But設置爲不工作。

所以請幫助我。

protected void Page_Init(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      IQueryable<tblOrganization> orglist = from o in db.tblOrganizations 
               where o.CreatedBy == "Licensee" && o.RefID == user.UserID 
               select o; 
     if (orglist != null && orglist.Count() > 0) 
     { 
      string list = "<table border='0' cellpadding='0' cellspacing='0' width='350px'>"; 
      foreach (tblOrganization o in orglist) 
      { 
       list += "<tr>"; 
       list += "<td style='width:25px;' align='right' valign='top'><input type='radio' runat='server' name='org' id='" + o.OrgID + "' ViewStateEnabled='true' onclick='javascript:fnBindGroup(" + o.OrgID + ",this)' /></td>"; 
       list += "<td style='width:325px;hieght:25px' align='left' valign='top'><a id='" + o.OrgID + "' href='#' onclick='javascript:fnSelectOrg(" + o.OrgID + ")' >" + o.OrgName + "</a></td>"; 
       list += "</tr>"; 
      } 
      list += "</table>"; 
      divOrg.InnerHtml = list; 
     } 
     } 
    } 
+0

請發送代碼。初始化+回發。 – Arthur

回答

1

我假定ASP.NET經典,而不是MVC。

如果您在Page_Load事件中創建控件,則在Postback之後所有狀態都將被銷燬,因爲Viewstate將在Page_Init之後和Page_Load之前進行計算。但是,如果您在Page_Load中創建控件,則在Viewstate被評估時它將不存在。

嘗試移動控制創建到Page_Init

參見http://msdn.microsoft.com/en-us/library/ms178472.aspx

編輯

哦,我明白了。

1)當創建ASP.NET控件動態時,您不得不每次重新創建它們,而不僅僅是在初始獲取請求中。 ASP.NET不會爲你維護控件,只是它們的狀態。

2)您正在公開純HTML。 ASP.NET不知道他們。但是:在Request對象,你可以找到原貼數據

var value = Request["someid"] 

你有兩個選擇:

1)創建ASP.NET控件,並將它們添加到控件樹(在page_init)

2)寫出純HTML輸入標籤(可以在OnPreRender中完成)並通過請求[012]讀取結果

+0

我將控件創建從page_load更改爲page_init.but但沒有working.same結果,我將獲得。 – Mallikarjuna

1

正如Arthur所說,如果在Page_Load()事件中創建控件,將控件創建移動到Page_Init ()。如果沒有幫助,請發送代碼以獲取更多信息

相關問題