内联数据绑定代码中的Request.Form

时间:2011-02-09 06:36:29

标签: asp.net data-binding postback inline

我在页面上有一个asp:Repeater,其中包含< input type =“radio”元素。我很欣赏asp:RadioButtonList控件可以用来做这个,但问题是在一些单选按钮后我们还需要一个文本框,当点击转发器中的相关单选按钮时使用Javascript启用(而转发器中的所有其他文本框)被禁用),因此决定使用原生HTML元素。

问题在于验证;如果发布时文本框为空白,我们要显示警告并强制用户输入文本,保留选中的单选按钮。但是,在<%#...%>之间访问时,似乎没有填充Request.Form集合。占位符,因此无法检测所选单选按钮以将“已检查”属性写入。

有关如何从Request.Form集合回读以检查相应的单选按钮输入元素的任何建议吗?

编辑 - 根据要求,下面是转发器中使用的HTML标记:

    <asp:Repeater ID="choiceRepeater" runat="server">
  <ItemTemplate>
    <input type="radio" 
          name="choice<%# 
          ((SurveyAnswer)Container.DataItem).SurveyQuestion.SurveyQuestionID.ToString() %>" 
          id="answerRadio" 
          value="<%# ((SurveyAnswer)Container.DataItem).SurveyAnswerID %>" 
          onclick="enableBox(this);"  />
    <asp:Label ID="answerText" 
            runat="server" 
            Text="<%# ((SurveyAnswer)Container.DataItem).AnswerText %>" />
    <span   id="textArea" 
            runat="server" 
            visible="<%# (((SurveyAnswer)Container.DataItem).EnableTextField)%>" >
      <input type="text" 
             name="text<%# ((SurveyAnswer)Container.DataItem).SurveyAnswerID %>" 
             id="text<%# ((SurveyAnswer)Container.DataItem).SurveyAnswerID %>" 
             disabled="disabled" />
    </span><br />
  </ItemTemplate>
</asp:Repeater>

如上所述,尝试访问&lt;%#...#&gt;中的Request.Form [..]集合时,不会返回任何内容。试图确定上次发布的内容的元素。

提前致谢,

克里斯

0 个答案:

没有答案