【发布时间】:2012-03-26 12:56:15
【问题描述】:
我的页面上有两个下拉列表,ddlMin 和 ddlMax。
在页面加载时,我让它选择 request.querystring 的值。调试时它采用选定的值,直到它到达下一行,然后它采用它的选定值?
http://localhost:37661/Default.aspx?search=&min=450000
ddlMin.SelectedValue = !FpsFunctions.IsNothing(Request.QueryString["min"])
? Request.QueryString["min"]
: "0"; <-- at this point it's 450000
ddlMax.SelectedValue = !FpsFunctions.IsNothing(Request.QueryString["max"])
? Request.QueryString["max"]
: "0"; <-- after this ddlMin.SelecgtedValue changes back to 0
我检查了 .cs.designer 以确保它没有继承一些愚蠢的东西,但一切似乎都是正确的。
提前为帮助喝彩。
【问题讨论】:
-
public static bool IsNothing(string stringToTest) { return string.IsNullOrEmpty(stringToTest); }
-
你能提供一些你的代码吗?指向您的本地主机的链接对我们没有帮助。
-
本地主机链接只是为了显示我从中提取的查询字符串。不确定是否需要更多代码,因为在调试 ddlMin 时,该值直到下一行,然后丢失它。您还需要查看哪些其他代码?
-
现在你提供的代码 sn-p 更清楚了。尝试强制 ddlMin 状态并使用 ddlMin.DataBind();在设置 selectedValue 之后。
-
不幸的是,这也没有做任何事情。我已经在 .Net 代码中开发超过 8 年了,以前从未见过这样的东西。当您说强制状态时,您是什么意思?就像我之前说的那样,我添加了 ddlMin.DataBind();但仍然在 ddlMax.selectedValue 更改它失去了它的价值?
标签: c# asp.net drop-down-menu query-string