在我的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