前台:
<%# GetID(Eval("id")ToString()) %>
后台:
protected string GetID(string id)
{
int pid = ConvertToInt32(id);
//得到 id
}
在前台获取比较容易吧,
javascript代码
var val = documentgetElementsByName("rd");//你也可以ById(),获取到的是一个集合
for(var i=0;i<vallength;i++)
{
if (val[i]checked == true) {
//代码
}
}
}
你可以在绑定数据的时候给每一对radiobutton的value赋上这行数据的 id 这样每条数据就可以区分了,通过ajax把数据传到后台保存就好了。
1设置你的按钮的CommandArgument和CommandName属性。
2为你的repeater绑定ItemCommand事件
3在ItemCommand事件处理程序里通过eItemDataItem就可以得到绑定到这一行上的数据实体了(这里的e是事件处理方法的第二个参数名字)。
Repeater1ItemsCount
有几篇教程文章:
C#数据绑定控件中的DataSource属性
>
DEMOaspx
asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<asp:Label ID="lbl_ID" runat="Server" Text='<%#Eval("ID") %>'></asp:Label>
<asp:Label ID="lbl_NAME" runat="Server" Text='<%#Eval("NAME") %>'></asp:Label>
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="btn_Get" runat="Server" OnClick="btn_Get_Click" Text="遍历" />
DEMOaspxcs
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dtColumnsAdd("ID");
dtColumnsAdd("NAME");
for (int i = 0; i <= 10; i++ )
{
DataRow dr = dtNewRow();
dr["ID"] = i;
dr["NAME"] = "NAME" + iToString();
dtRowsAdd(dr);
}
thisRepeater1DataSource = dt;
thisRepeater1DataBind();
}
protected void btn_Get_Click(object sender, EventArgs e)
{
foreach (RepeaterItem rs in Repeater1Items)
{
string str_ID = ((Label)rsFindControl("lbl_ID"))Text;
string str_Name = ((Label)rsFindControl("lbl_Name"))Text;
string str_Message = "ID:" + str_ID + " Name:" + str_Name;
ResponseWrite("<script>alert('" + str_Message + "')</script>");
}
}
为了演示,我直接用DataTable作为数据源,遍历的方式就是这样,如果你的页面有嵌套母版页的话要注意FindControl()里的控件名称不是控件的ID,而是控件ClientID。
只需要在里面的控件中CommandName设定好就可以了 protected void rptFather_ItemCommand(object source, RepeaterCommandEventArgs e) { if (eCommandName = 命令名) { //具体 *** 作 } }
以上就是关于使用Repeater控件,如何在后台获取前台的值全部的内容,包括:使用Repeater控件,如何在后台获取前台的值、取repeater里面控件的值怎么取、asp.net中怎么获取用户控件中Repeater控件里面的一个Label值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)