2010-12-10 110 views
0

假设我无法修改站点的代码隐藏文件(它是编译站点),我遇到了一个只能完全修复的bug完成重新编译和重新部署。不幸的是,我们正处于严格的发布时间表,我们无法再部署11天。更改.Net客户端中DropDownList的值

错误是我正在对下拉菜单进行检查,以确保所选值不是“-1”。但是,我没有使用drp.SelectedItem.Value,我使用了drp.Items [0] .Value。总骨头移动我的部分。底线是drp.Items [0] .Value总是-1,所以他们的页面给用户一个错误,指出他们需要为该下拉选择一个选项。他们真的有,但我的错误是不让他们继续在这个过程中。

因为我是个白痴。

所以,我试图确定,如果我可以,客户端,将第一个DRP项目的值替换为实际选定的下拉值。

我已经完成了这一切工作的客户端,但当表单回发,值仍然是从代码填充的值,意味着“-1”。

我确定这是因为下拉列表已加载,所有的值都保存在ViewState中。

任何人都可以想到.Net友好的解决方案吗?我真的希望有一个。

回答

0

不幸的是,当浏览器进行回发时,将使用默认值重新创建所有控件,然后从viewstate和post值更新它们的值。而DropDownList控件不会从另一个值集合中更新ListItems的值。如果我们通过javascript在客户端更改ListItem的值,那么在服务器端,我们的控件将在它的ListItem集合中包含默认值,在我们的例子中它是-1。

最好的问候, 迪马。

+0

谢谢迪玛。我以前很怕那个。 – 2010-12-11 00:34:24