我有一个 ASP.NETDropDownList
和. 我在页面上有一个什么都不做的按钮。如果我更改 ddl 中的选择,它会回发,这是预期的。如果我单击该按钮,则页面会发回并且 ddl 会触发。为什么会被解雇?AutoPostBack=true
EnableViewState=false
SelectedIndexChanged
问问题
8572 次
4 回答
10
"感谢您的反馈。如果在页面或DropDownList控件上禁用了ViewState,则无法保存所选索引,因此每次回发看起来都已更改所选索引。您可以自己保存所选索引并与它进行比较看看选择是否真的改变了,或者你可以在 DropDownList 上启用 ViewState。"
在您的情况下,下拉列表的视图状态为 false。启用相同或您可以按照上面的建议比较所选项目的索引。
于 2010-03-16T08:10:24.980 回答
2
尝试启用视图状态。这是一个常见的问题。
编辑
如果您不想启用视图状态,则必须自己跟踪下拉列表值,就像这个人所做的 DropDownList OnSelectedIndexChange to 0th index w/out ViewState
于 2010-03-16T08:07:42.820 回答
1
如果您在 page_load 中加载 ddl,当您单击按钮时,它会再次进入 page_load 并再次加载 ddl 项目,从而更改所选索引。但我不知道你的代码,所以这是一个假设。
于 2010-03-16T08:13:32.990 回答
0
我遇到过同样的问题。我发现我的问题是我调用了我的渲染函数Page_Load
。
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.PreRender
我完全错过了页面Page_Load
作为默认加载功能加载的事实,然后在运行预渲染时再次加载它。我将其更改为以下内容,现在该函数仅调用一次:
Sub Renderer(ByVal sender As Object, ByVal e As EventArgs) Handles Me.PreRender
于 2012-06-12T15:13:07.327 回答