我在转发器里面有一个html单选按钮。我面临两个问题
当我从后面的代码绑定值时(在后面的代码中使用数据表),它会抛出错误的服务器标记。
如何在
我的代码到现在为止。
asp:Repeater runat="server" ID="rptr1">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<tr> <td>
<span><input type="radio" runat="server" name="acd" class="radio" id="radio1" value='<%# DataBinder.Eval(Container.DataItem, "valuinfm")%>'/></td><td> <label for="radio"><%# DataBinder.Eval(Container.DataItem, "txtinfm")%></label></span></td>
<br />
</tr>
</ItemTemplate>
<FooterTemplate></FooterTemplate>
</asp:Repeater>
任何人都知道我哪里出错了。我使用这种方法,因为在使用带有转发器的asp.net单选按钮时存在一些错误。我不想使用javascript。
基本上我想通过查询字符串重定向到其他页面,这是查看单选按钮的“值”
编辑: //我已将其更正为单引号,现在没有错误(感谢Brian) 单选按钮中的值不同,但我仍然可以单击两者以及如何检测选择了哪个单选按钮:
答案 0 :(得分:1)
为什么不使用服务器单选按钮,如:
<asp:RadioButton id="rad1" runat="server" GroupName="acd" ...
Checked='<%# Eval("valuinfm") %>' />
注意属性值周围的单引号,当内部引号为double时,外部需要单引号。
答案 1 :(得分:0)
对于初学者来说,这将在浏览器中生成具有相同ID的多个单选按钮,这是禁忌。它也可能是您的问题的一部分,但它有助于查看在运行时实际抛出错误的代码。
答案 2 :(得分:0)
问题是因为生成的单选按钮的name属性会附加一个UniqueId。这是.NET试图提供帮助,但在这种情况下,它会导致问题,因为浏览器组合名称属性相同的单选按钮。一种可能的解决方案是创建自己的单选按钮Web控件,该控件不会覆盖本文中讨论的name属性:
http://www.codeproject.com/KB/webforms/How_group_RButtons.aspx