2012-09-07 57 views
1

測驗項目,一個問題有一個包含2個項目(T/F)或4個項目(a,b,c,d)的單選按鈕列表 問題數量不盡相同。面板用於一次只顯示一個問題(顯示/隱藏)。 回答所有問題後,用戶點擊提交按鈕,所有答案應保存在數據庫中。在selecteditem後面的代碼中始終爲null,值始終爲空字符串。Radiobuttonlist selecteditem始終爲空

<asp:DataList ID="dtQuestion" runat="server" RepeatDirection="Vertical" OnItemDataBound="FormatDataListRow" > 
     <ItemTemplate> 
      <asp:Panel id="panel" runat="server" BorderColor="#536895" BorderStyle="Solid" BorderWidth="1" style="display: none;" EnableViewState="true"> 
       <asp:Label id="lblQuestionDesc" runat="server" Text="" ></asp:Label> 
       <asp:RadioButtonList id="rbl" runat="server" EnableViewState="true" > </asp:RadioButtonList> 
       </asp:Panel> 
      </ItemTemplate>     
</asp:DataList> 

上提交點擊。我調用一個函數來搜索RBL的頁面,我可以看到他們正確的ID和列表項,但沒有選擇任何東西。

string id; 
     if  (c.GetType().ToString().Equals("System.Web.UI.WebControls.RadioButtonList")) 
       { 
        if (c.ID != "rbl") 
        { 
        id = c.ID; 
        al.Add(id + "," + ((RadioButtonList)c).SelectedItem.Value); //SelectedValue); // 
       } 
      } 

回答

0

嘗試訪問這樣的提交的值:

this.Request.Form[((RadioButtonList)c).UniqueID] 

在調試過程中可以隨時查詢什麼樣的價值觀,你在this.Request.Form收集得。

1

看來你在頁面加載填充單選按鈕列表 - 如果是這樣的 - 確保你環繞你在RadioButtonList的人口與 如果/那麼/回傳塊: 如果沒有Page.IsPostBack然後 「填充您的RBL 結束時,如果

如:

 if (!IsPostBack) 
     { 
      loadradiobuttonlist(); 
     } 
+0

是啊,可怕的 「的Page_Load VS所選項目」 的事。 – CarComp