2012-09-07 2 views
1

퀴즈 프로젝트에는 질문 2 개 (T/F) 또는 4 개 항목 (a, b, c, d)이 포함 된 라디오 버튼 목록이 있습니다. 개의 질문 수가 다릅니다. 패널은 한 번에 하나의 질문 만 표시 (표시/숨기기)하는 데 사용됩니다. 모든 질문에 답한 후 사용자가 제출 버튼을 클릭하면 모든 대답이 데이터베이스에 저장됩니다. 뒤에있는 코드에서 selecteditem은 항상 null이고 값은 항상 빈 문자열입니다.Radiobuttonlist selecteditem은 항상 null입니다.

<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 수집에있어 값을 확인할 수 있습니다 디버깅하는 동안

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

.

1

당신이 페이지로드에 RadioButtonList을 채우는있어 보인다 - 그렇다면 -/그런 다음/다시 게시가 차단하면 당신은 으로 RadioButtonList 당신의 인구를 둘러싸고 있는지 확인하십시오 가되지 않으면 것은 다음 을 Page.IsPostBack ' 당신의 RBL 끝을 채울 경우

예 :

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

아 그래, 일이 무서워 "선택한 항목 대를 Page_Load". – CarComp