我在repeater里面绑定了一个RadioButton和其他几项数据,格式大概为这样:
<asp:repeater id=“rep” runat="server">
<itemTemplate>
<TD > <asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="true" GroupName="1" OnCheckedChanged="changed"/></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"geneStep") %></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"ProfessionKind") %></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"air") %></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"water") %〉</TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"product") %></TD>
</itemTemplate>
</asp:repeater>
我想达到的目的是:在数据库中将数据提出来之后,假如有10条纪录,每个记录前都应该有一个RadioButton是吧,当点击任何一个RadioButton后,自动将本条记录中的其他字段的值(geneStep、ProfessionKind等的值)传出来,然后它的Check=true,也就是说:自动提交到服务器之后哪个RadioButton选中的还是选中的,没选中还是没选中。
现在我做的是:提取出数据之后,点击任何一个RadioButton都可以,就是说只能选中,不能取消。在RadioButton的OnCheckChanged事件里将repeater重新绑定之后,每次点击RadioButton之后,由于重新提交到服务器,所以每个RadioButton又都不是选中的了。
怎么达到我上面说的那样啊?
请大家帮忙,谢谢了。
<asp:repeater id=“rep” runat="server">
<itemTemplate>
<TD > <asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="true" GroupName="1" OnCheckedChanged="changed"/></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"geneStep") %></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"ProfessionKind") %></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"air") %></TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"water") %〉</TD>
<TD ><%# DataBinder.Eval(Container.DataItem,"product") %></TD>
</itemTemplate>
</asp:repeater>
我想达到的目的是:在数据库中将数据提出来之后,假如有10条纪录,每个记录前都应该有一个RadioButton是吧,当点击任何一个RadioButton后,自动将本条记录中的其他字段的值(geneStep、ProfessionKind等的值)传出来,然后它的Check=true,也就是说:自动提交到服务器之后哪个RadioButton选中的还是选中的,没选中还是没选中。
现在我做的是:提取出数据之后,点击任何一个RadioButton都可以,就是说只能选中,不能取消。在RadioButton的OnCheckChanged事件里将repeater重新绑定之后,每次点击RadioButton之后,由于重新提交到服务器,所以每个RadioButton又都不是选中的了。
怎么达到我上面说的那样啊?
请大家帮忙,谢谢了。
-----------------------------
不要使用RadioButton,使用CheckBox就好了
---------------------------------
应该不会,ASP.NET自动会保存状态的,除非你重新绑定了你的repeater。
-----------------------------
不要使用RadioButton,使用CheckBox就好了
------------------------------------------
只能用RadioButton,因为想达到但选的效果。
---------------------------------
应该不会,ASP.NET自动会保存状态的,除非你重新绑定了你的repeater。
-------------------------------------------------------------------
是又重新绑定了阿,否则的话虽然就会出现所有的RadioButton都能选中,而且不能取消的问题。
--------------------------
你不会是说GroupName一样出现多选现象吧???估计是OnCheckedChanged代码问题
protected void Bind(object sender, EventArgs e)
{ //绑定代码,我想选中一条记录之后将值取出来,但是不知道怎么去,所以就将绑定代码先写上了。
string s = "select * from auto where ProfessionKind='废弃物焚烧'";
SqlConnection con = thelog.creatCon();
con.Open();
SqlDataAdapter adr = new SqlDataAdapter(s, con);
DataSet ds = new DataSet();
adr.Fill(ds);
this.repAuto.DataSource = ds;
this.repAuto.DataBind();
}
//
我的GroupName都是“1”,是在HTML里写的。上面写RadioButton的时候有啊。
该怎么办啊?
---------------------
对,还有另外一个问题,就是如果选中了一项,该怎么把选中的那条记录的值给取出来啊?
在Repeater的ItemDataBound事件中,决定哪个RadioButton选中