嗨我有一组单选按钮,用于“yes”和“no”值,其名称为“choice”。默认选中“是”。他们都runat =“服务器”。我阅读下面的回发选项。只要验证不失败,它就可以很好地工作。例如,如果我选择“否”并且在回发时验证失败,我仍然看到选择“否”。但如果我在更正所有内容后提交表单,则在服务器端读取的值为“是”!这是.net中的一个错误,如果是这样,我该如何解决这个问题?单选按钮在回发时丢失数值
foreach (string key in Request.Form.AllKeys)
{
if (key.EndsWith("choice"))
return Request.Form[key] == "yes";
}
是否.aspx页面都“的EnableViewState”启用?我遇到过一次类似的问题,控件在窗体上显示了一件事,但提交的数据完全不同。当我将EnableViewState设置为true时,它已经修复。 – 2010-05-03 16:39:58
是视图状态已启用。这就是表单仍然保留在回发之前选择的值的方式。因此,如果我在回发之前选择了“否”,则重新呈现的页面仍显示为“否”。但是,如果在此之后提交,则回读的值为“是” – Riz 2010-05-03 16:41:25
了解。就我而言,我对我的控制启用ViewState的,而不是网页,所以它会继续回传跟踪更新为好,但网页本身显然没有在意,那么结果将在时间变得相当不寻常。对不起,我无法进一步帮助。 – 2010-05-03 16:44:59