我正在遍历一串字符并找到一个复选框。我找到了没有任何问题的复选框,如果迭代的字符等于't',我将复选框的Checked属性设置为true。
然而,无论出于何种原因,虽然它确实检查了相应的复选框,但执行此代码也意味着当我自己单击任何复选框时,没有任何反应(一切正常,我可以检查任何内容,直到我执行此代码)。此外,如果我执行此代码,我页面上的提交按钮不再执行任何操作。我很困惑这可能是什么原因。
按钮是在init上以编程方式创建的,位于更新面板内。
DateTime date = new DateTime(2015, 11, 18);
foreach (char c in attendee.accommodation)
{
ID = "accommodationCheckBox" + date.ToShortDateString();
CheckBox checkbox = (CheckBox)FindControl(ID);
if (checkbox != null && c == 't')
{
checkbox.Checked = true;
}
date = date.AddDays(1);
}
以下是最后一个复选框的示例:https://jsfiddle.net/Lzxo047o/
编辑:场景:您在A.aspx上填写动态生成的表单,然后在B.aspx上看到“注册概述”。如果你想在那时修改你的注册,你点击一个按钮,创建一个A.aspx的新实例,并用数据库中的注册数据填充它,这就是我现在正在解决的问题。我动态创建一些复选框,并根据字符串的值,检查或不检查。他们会按照自己的意愿进行检查,但我无法手动控制/点击它们。
答案 0 :(得分:0)
checkbox.CheckedChanged += yourcheck_event;
如果动态创建复选框,则必须将事件添加到其中。
答案 1 :(得分:0)
确保您的UpdatePanel将UpdateMode属性设置为"始终"。
记住:
UpdatePanel控件的内容仅在其中一个内容时更新 以下是真的:
当回发是由该UpdatePanel控件的触发器引起的。 显式调用UpdatePanel控件的Update方法时。什么时候 UpdatePanel控件嵌套在另一个UpdatePanel控件中 并且父面板已更新。
...