C# 更改.Net客户端中DropDownList的值

C# 更改.Net客户端中DropDownList的值,c#,asp.net,client-side,C#,Asp.net,Client Side,假设我不能修改站点的代码隐藏文件(这是一个已编译的站点),我遇到了我的一个bug,它只能通过完全重新编译和重新部署来完全修复。不幸的是,我们有一个严格的发布时间表,我们不能再部署11天 错误在于我正在对下拉列表进行检查,以确保选择的值不是“-1”。但是,我没有使用drp.SelectedItem.Value,而是使用了drp.Items[0].Value。就我而言,这简直是愚蠢的举动。底线是drp.Items[0]的值始终为-1,因此他们的页面会向用户提供一个错误,说明他们需要为该下拉列表选择一

假设我不能修改站点的代码隐藏文件(这是一个已编译的站点),我遇到了我的一个bug,它只能通过完全重新编译和重新部署来完全修复。不幸的是,我们有一个严格的发布时间表,我们不能再部署11天

错误在于我正在对下拉列表进行检查,以确保选择的值不是“-1”。但是,我没有使用drp.SelectedItem.Value,而是使用了drp.Items[0].Value。就我而言,这简直是愚蠢的举动。底线是drp.Items[0]的值始终为-1,因此他们的页面会向用户提供一个错误,说明他们需要为该下拉列表选择一个选项。他们确实有,但我的错误是不让他们继续这个过程

因为我是个白痴

因此,我试图确定是否可以在客户端将第一个drp项的值替换为该下拉列表中实际选择的值

我已经在客户端实现了这一切,但是当表单发回时,值仍然是从代码填充的值,意思是“-1”

我确信这是因为下拉列表已加载,并且所有值都保存在ViewState中


有人能想出一个对.Net友好的解决方案吗?我真的希望有一个。

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

致以最良好的祝愿,
迪玛。

谢谢迪玛。我很害怕。