【发布时间】:2015-05-07 06:57:25
【问题描述】:
我有这个代码来防止两个相反的单选按钮都被检查:
RadioButton rbUSCitizenOrPermResY = null;
RadioButton rbUSCitizenOrPermResN = null;
. . .
rbUSCitizenOrPermResY = new RadioButton
{
CssClass = "finaff-webform-field-input"
}; // doesn't allow assignment to CheckedChanged above
rbUSCitizenOrPermResY.CheckedChanged += new EventHandler(rbUSCitizenOrPermResY_Changed);
. . .
private void rbUSCitizenOrPermResY_Changed(object sender, EventArgs e)
{
if (rbUSCitizenOrPermResN.Checked)
{
rbUSCitizenOrPermResN.Checked = false;
}
}
因此,如果选中“是”单选按钮,如果选中“否”单选按钮,则取消选中“否”单选按钮。
据说。
实际上,此事件处理程序已输入,但在单击单选按钮时未输入。相反,它会在我单击“保存”按钮后触发。这是一个异步事件处理程序,只要感觉它就会唤醒吗?如果是这样,我怎样才能让它“伸直并正确飞行”/“整形或出货”?
【问题讨论】:
-
你可以通过将它们放在同一个 GroupBox 或 Panel 中来强制它们相互排斥吗?
-
我不知道 html 中有这样的结构(这段代码在“幕后”创建 html - 它存在吗?
-
所以,我在想发生的事情是只有当您单击保存时才会将数据发布到服务器,所以只有这样才会处理 CheckChanged 事件。这是第一句话:“当 Checked 属性的值在发送到服务器的帖子之间发生变化时发生。” msdn.microsoft.com/en-us/library/… 的 CheckChanged 事件的描述。因此,如果当您单击单选按钮时没有任何内容发布到服务器,则不会发生任何事情。但是当您单击保存时,服务器会检查状态。这有意义吗?
-
是的,有道理,但是让用户看到两个单选按钮“已选中”会让人困惑
标签: c# asynchronous sharepoint-2010 radio-button