我想获取转发器中复选框的值和id,并将值保存在数据库中。 这就是我所拥有的;
中继器;
我要使用的复选框
<asp:CheckBox ID="chkRemind" runat="server" OnCheckedChanged="Check_Changed" AutoPostBack="true" />
背后的代码
protected void Check_Changed(Object sender, EventArgs e) {
I need to know the Id and find out the current checkbox value
so i can do
UpdateDB(ID, checkboxValue);
}
答案 0 :(得分:1)
您可以将id数据绑定到数据属性,然后在回发时读取。
cb.Attributes["data-id"] = DataItem.ID;
protected void Check_Changed(Object sender, EventArgs e) {
var checkbox = sender as CheckBox;
int ID = int.Parse(checkbox.Attributes["data-id"]);
UpdateDB(ID, CheckBox.Checked);
}
确保验证当前用户是否有权编辑所请求的项目,因为可以在客户端上更改data-id值。
答案 1 :(得分:0)
这样做:
protected void Check_Changed(Object sender, EventArgs e) {
var item = sender as Checkbox;
UpdateDB(item.ID, item.Value);
}
答案 2 :(得分:0)
变量sender
包含触发事件的Control,因此您只需将其强制转换为CheckBox
protected void Check_Changed(Object sender, EventArgs e)
{
CheckBox chbSomeCheckbox = (CheckBox)sender;
var ID = chbSomeCheckbox.ID;
var checkboxValue = chbSomeCheckbox.Checked;
UpdateDB(ID, checkboxValue);
}
答案 3 :(得分:0)
您需要做的就是获取发件人控件的ID
protected void Check_Changed(Object sender, EventArgs e)
{
Checkbox item = sender as Checkbox;
UpdateDB(item.ID, item.Value);
}