<asp:DataList ID="DataList1" runat="server">
<ItemTemplate>
<asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("LeiBMCh") %>' GroupName="a" />
</ItemTemplate>
</asp:DataList>
动态生成的单选按钮不是单选,而是都能选择,什么原因
<ItemTemplate>
<asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("LeiBMCh") %>' GroupName="a" />
</ItemTemplate>
</asp:DataList>
动态生成的单选按钮不是单选,而是都能选择,什么原因
<ItemTemplate>
<input type="radio" id="RadioButton1" name="a"><%# Eval("LeiBMCh") %>
</ItemTemplate>
</asp:DataList>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>图片展示</title>
<script type="text/javascript">
function ChangeChk(ctl)
{
var theBox=ctl;
var elem=theBox.form.elements;
for(i=0;i<elem.length;i++)
{
if(elem[i].type=='radio')
{
if(elem[i].id==theBox.id)
{
elem[i].checked=true;
}
else
{
elem[i].checked=false;
}
}
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<br />
<asp:DataList ID="DataList1" runat="server" RepeatColumns="4" RepeatDirection="Horizontal">
<ItemTemplate>
<table width="150">
<tr>
<td>
<%#Eval("title") %>
<br />
</td>
</tr>
<tr>
<td>
<asp:RadioButton ID='rbd' onclick="javascript:ChangeChk(this)" runat="server" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
</form>
</body>
<html>
<%@ Page Language="C#" AutoEventWireup="True" EnableViewState = "true"%>
<%@ Import Namespace="System.Data" %>
<html>
<script runat="server">
DataTable Cart;
DataView CartView;
ICollection CreateDataSource()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
for (int i = 0; i < 101; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = "Item " + i.ToString();
dr[2] = 1.23 * (i+1);
dt.Rows.Add(dr);
}
DataView dv = new DataView(dt);
return dv;
} void Page_Load(Object sender, EventArgs e)
{
string js = "";
js+="<script>\r\n";
js+="function ld(){\r\n";
js+="for(i=0;i<document.getElementsByName('RadioName').length;i++)\r\n";
js+="if(document.getElementsByName('RadioName')[i].value==";
js+="document.getElementById('" + rd.ClientID + "').value) ";
js+="document.getElementsByName('RadioName')[i].checked=true\r\n";
js+="}\r\n";
js+="window.onload=ld\r\n";
js+="</"+"script>\r\n";
this.RegisterStartupScript("js",js);
if (!IsPostBack)
{
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();
}
}
void Grid_Change(Object sender, DataGridPageChangedEventArgs e)
{
ItemsGrid.CurrentPageIndex = e.NewPageIndex;
ItemsGrid.DataSource = CreateDataSource();
ItemsGrid.DataBind();
}
void btnClick(Object sender, EventArgs e)
{
if(Request.Form["RadioName"] != null)
{
rd.Value = Request.Form["RadioName"].ToString();
Label1.Text = "您所选择的是:<font color=red>" + Request.Form["RadioName"].ToString() +"</font>";
}
}
</script>
<body>
<form runat="server" id=MM>
<input type="hidden" id=rd runat=server/>
<asp:DataGrid id="ItemsGrid" runat="server"
BorderColor="black" BorderWidth="1"
CellPadding="3" AllowPaging="true"
AutoGenerateColumns="false"
OnPageIndexChanged="Grid_Change">
<HeaderStyle BackColor="#00aaaa"></HeaderStyle>
<PagerStyle Mode="NumericPages"></PagerStyle> <Columns>
<asp:TemplateColumn>
<ItemTemplate>
<input type=radio name="RadioName" value='<%# DataBinder.Eval(Container.DataItem, "IntegerValue")%>'/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn HeaderText="数字列" DataField="IntegerValue"/>
<asp:BoundColumn HeaderText="字符串列" DataField="StringValue"/>
<asp:BoundColumn HeaderText="货币列" DataField="CurrencyValue" DataFormatString="{0:c}">
<ItemStyle HorizontalAlign="right"></ItemStyle>
</asp:BoundColumn>
</Columns>
</asp:DataGrid>
<br>
<asp:Button id="Btn" Text="看你选择的" OnClick="btnClick" runat="server"/>
<asp:Label id="Label1" Text="" runat="server"/>
</form>
</body>
</html>
我现在用的这个。
<ItemTemplate>
<input name="RadioButton1" type="radio" /><%# Eval("LeiBMCh") %>
</itemtemplate>