【发布时间】:2013-09-24 03:42:14
【问题描述】:
我有一个 asp.net 网页表单页面,该页面上有一个带有自动回发的 asp.net 下拉列表控件。当用户在下拉列表中进行选择时,将使用查询字符串参数向同一页面发出获取请求。
在回发时,我读取了查询字符串参数并加载/填充其他控件。
当用户按下浏览器的返回按钮时,之前的请求被提交(连同它的查询字符串)。在后面的代码中,我读取了查询字符串并加载/填充其他控件,效果很好。我还尝试在下拉列表中选择适当的项目(按值)。
我在浏览器中看到的问题是选择中未显示适当的选项 text。通过检查源代码,我可以看到正确的选项具有 selected="selected" 属性,因此在后面的代码中设置所选项目是成功的。但是文本错误地仍然与按下后退按钮之前相同。
奇怪的是,这只发生在 chrome 中。 ie 和 firefox 都按预期运行。
有人对 asp.net 下拉列表和 chrome 有任何问题吗?
我被难住了。
我创建了一个简单的例子来说明这个问题。 src 可以在https://github.com/beembow/AspDotNetDropDownInChrome.git找到。
通过在下拉菜单中选择一些值然后按返回按钮来重现错误。
【问题讨论】:
-
请显示您的一些代码,例如绑定数据部分、page_load、aspx 标记页面等,还有,你的意思是在 chrome 中显示不正确,在 IE、firefox 中呢?它们是否正常工作,如果可以,开发者工具中是否显示任何错误?
-
今天早上会尝试添加一些代码......但我相信我的公司政策会阻止我这样做......也许我看看我是否可以创建一个等效的示例。 Firefox 中不存在此问题,即它们在下拉菜单中显示正确的文本。
-
我应该澄清一下,下拉选择更改会触发回发,并且此事件的处理程序使用查询字符串(GET)执行 Response.Redirect 到同一页面。然后 Page_Load 事件读取查询字符串并加载其他字段并在下拉列表中设置适当的值。
-
我找到了stackoverflow.com/questions/2885338/…,我认为这与我遇到的问题相同,但可能解释得更好。
标签: c# asp.net google-chrome webforms html-select