【发布时间】:2011-10-30 13:42:21
【问题描述】:
这是我的代码:
public class MyCollection {
internal static Dictionary<string, CheckBox> MyCheckBox = new Dictionary<string, CheckBox>();
}
protected void Page_Load(object sender, EventArgs e) {
if (!IsPostBack) {
CheckBox chk1 = new CheckBox();
chk1.ID = "chk1";
chk1.Checked = true;
if (!MyCollection.MyCheckBox.ContainsKey(chk1.ID))
MyCollection.MyCheckBox.Add(chk1.ID, chk1);
CheckBox chk2 = new CheckBox();
chk2.ID = "chk2";
chk2.Checked = true;
if (!MyCollection.MyCheckBox.ContainsKey(chk2.ID))
MyCollection.MyCheckBox.Add(chk2.ID, chk2);
pl1.Controls.Add(chk1);
pl2.Controls.Add(chk2);
}
}
protected void btn1Click(object sender, EventArgs e) {
lit1.Text = "Chk1.Checked: " + MyCollection.MyCheckBox["chk1"].Checked.ToString();
lit1.Text += "<br />Chk2.Checked: " + MyCollection.MyCheckBox["chk2"].Checked.ToString();
}
我有 2 个复选框,但总是在按下按钮时,Checkboxes.Checked 为真,当我取消选中它们时, 我如何在上面的某些字典中保留复选框并以正确的方式检查它们的 Checked 属性? 实际上我不想要任何更改复选框的事件,我想一个 jQuery 脚本,当我按下按钮时,我会检索未选中的复选框的名称 我找到一个 jQuery 可以找到未选中的复选框名称,但我不知道如何将名称传递给 c# 代码?
我上面的代码只是一个示例,真正的项目是一个用户控件,它从一个类型动态定义和呈现控件,嗯,场景是这样的:客户端添加用户控件的程序集并声明该命名目标的属性类型,用户控件读取目标,并为每个属性决定必须添加哪个控件,因此通过覆盖的 RenderContents 和其他方法可以将控件添加到页面,因此每个控件都会自动具有一个启用/禁用控件的复选框,我需要选中的属性
我在Stackoverflow...找到了这个代码
var sList = "";
$('input[type=checkbox]').each(function () {
var sThisVal = (this.checked ? "1" : "0");
sList += (sList=="" ? sThisVal : "," + sThisVal);
});
console.log (sList);
但是这段代码只是在控制台上写了 sList,如何在 C# 代码中检索 sList 值?
【问题讨论】:
-
我在这里找到它:[从 jQuery 检索值到 C# 代码][1] [1]:stackoverflow.com/questions/7951202/…