我目前有一个问题,单选按钮和分组。我有一个asp单选按钮在一个中继器控制。我有组名称属性设置为“客户”。当页面加载时,单选按钮不分组。不是将id字段设置为组名,而是设置单选按钮的值字段。我知道我已经尝试设置单选按钮在中继器控制之外,并有同样的问题。这里发生了什么?
aspx
<asp:Repeater ID="repCustomers" runat="server"> <HeaderTemplate> <table class="tableDefault" cellpadding="0" cellspacing="0" border="0" style="width: 383px; border: 0px !important"> <tr> <th> </th> <th>Cust. No.</th> <th>Cust. Name</th> </tr> </HeaderTemplate> <ItemTemplate> <tr> <td> <asp:RadioButton ID="radCustomer" GroupName="Customer" runat="server" ValidationGroup="Customer" ToolTip='<%#Eval("CustomerNumber") %>' /> </td> <td><%#Eval("CustomerNumber")%></td> <td><%#Eval("Name") %></td> </tr> </ItemTemplate> <FooterTemplate> </table> </FooterTemplate> </asp:Repeater>
输出html
<table class="tableDefault" cellpadding="0" cellspacing="0" border="0" style="width: 383px; border: 0px !important"> <tr> <th> </th> <th>Cust. No.</th> <th>Cust. Name</th> </tr> <tr> <td> <span title="111111"><input id="ctl00_PrimaryContent_repCustomers_ctl01_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl01$Customer" value="radCustomer" /></span> </td> <td>111111</td> <td>Jeremy's Test</td> </tr> <tr> <td> <span title="222222"><input id="ctl00_PrimaryContent_repCustomers_ctl02_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl02$Customer" value="radCustomer" /></span> </td> <td>222222</td> <td>My Test</td> </tr> <tr> <td> <span title="333333"><input id="ctl00_PrimaryContent_repCustomers_ctl03_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl03$Customer" value="radCustomer" /></span> </td> <td>333333</td> <td>Jim Bob's BBQ</td> </tr> <tr> <td> <span title="444444"><input id="ctl00_PrimaryContent_repCustomers_ctl04_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl04$Customer" value="radCustomer" /></span> </td> <td>444444</td> <td>New Hope Hamburgers</td> </tr> <tr> <td> <span title="555555"><input id="ctl00_PrimaryContent_repCustomers_ctl05_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl05$Customer" value="radCustomer" /></span> </td> <td>555555</td> <td>Pied Piper Pizza</td> </tr> <tr> <td> <span title="666666"><input id="ctl00_PrimaryContent_repCustomers_ctl06_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl06$Customer" value="radCustomer" /></span> </td> <td>666666</td> <td>Sandy's Subs</td> </tr> <tr> <td> <span title="777777"><input id="ctl00_PrimaryContent_repCustomers_ctl07_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl07$Customer" value="radCustomer" /></span> </td> <td>777777</td> <td>Leonard's Lambchops</td> </tr> <tr> <td> <span title="888888"><input id="ctl00_PrimaryContent_repCustomers_ctl08_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl08$Customer" value="radCustomer" /></span> </td> <td>888888</td> <td>Dave's Diamond Deli</td> </tr> <tr> <td> <span title="999999"><input id="ctl00_PrimaryContent_repCustomers_ctl09_radCustomer" type="radio" name="ctl00$PrimaryContent$repCustomers$ctl09$Customer" value="radCustomer" /></span> </td> <td>999999</td> <td>Ernie's Eatery</td> </tr> </table>
解决方法
我终于得到了这一点,通过创建一个简单的单选按钮,并使用服务器端的eval设置值。
<input type="radio" name="radCustomer" value='<%#Eval("CustomerNumber") %>' />
现在当应用程序执行回发时,我检查Request.Form [“radCustomer”]的值。这工作完美无瑕。