在我的ASP.NET 4.0的网站,它使用母版页,我已禁用ViewState的站点范围在web.config中:与第一下拉列表项选择视图状态问题
<pages enableViewState="false" />
,我试图只启用它的时候绝对必要。
我碰到的一个问题与DropDownList控件(不绑定怎么回事,只是硬编码项):
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged" Width="150px" ViewStateMode="Enabled" EnableViewState="True">
<asp:ListItem>Chocolate</asp:ListItem>
<asp:ListItem>Strawberry</asp:ListItem>
<asp:ListItem>Vanilla</asp:ListItem>
</asp:DropDownList>
即使我已经启用视图状态这个特殊的控制,还有一个问题选择第一项:
protected void DropDownList1_SelectedIndexChanged (object sender, EventArgs e)
{
TextBox1.Text = (sender as DropDownList).SelectedValue;
}
预期的结果是,无论何时“巧克力”被选择TextBox1的将显示 “巧克力”。但是我看到的是TextBox1只在草莓或香草被选中时才会改变。在上面的例子中,我选择了草莓和巧克力。
换句话说,DropDownList SelectedIndexChanged在选择第一个项目时不会触发,而在选择第二个或第三个项目时触发。
这里是为DropDownList的属性设置:
我试图从一个空白的项目开始相同的代码和页面按预期工作。 (选择第一个项目会触发事件)。
在此先感谢您的任何建议。
所以如果你选择第二个项目。该事件被解雇。如果您然后选择第一个项目,事件不会被解雇? – Phill 2011-06-09 02:01:30
@Phil:是的,SelectedIndexChanged事件在选择第二或第三项时触发。但在此之后,选择第一个项目不会导致事件触发。 – 2011-06-09 02:21:24