2008-12-04 49 views
3

我正在嘗試通過UpdatePanel將選定的項目更改時,DropDownList AutoPostBack。爲了解決這個問題,我對此感到有些激動。ASP.NET DropDownList AutoPostback不工作 - 我錯過了什麼?

有沒有人有任何快速的想法?

ASPX頁面:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always" ChildrenAsTriggers="true" >  
    <ContentTemplate> 
    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged"> 
     <asp:ListItem>item 1</asp:ListItem> 
     <asp:ListItem>item 2</asp:ListItem> 
    </asp:DropDownList> 
    </ContentTemplate> 
</asp:UpdatePanel> 

代碼隱藏(我把一個斷點字符串賦值捕捉回傳):

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    string s = ""; 
} 

編輯:

OK,我現在正在工作。很奇怪。它只需要重新啓動Visual Studio。這是一種讓我作爲開發人員感到害怕的東西;)我認爲我以前見過類似的地方,VS與它運行的程序集「不同步」。

僅供參考我正在運行VS 2008 Web Developer Express。

感謝那些回答。

回答

5

我能夠使它與您發佈的內容一起工作。這是我使用的代碼...基本上你有,但我拋出一個異常。

<asp:ScriptManager ID="smMain" runat="server" /> 

    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always" ChildrenAsTriggers="true" >  
     <ContentTemplate> 
     <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" onselectedindexchanged="DropDownList1_SelectedIndexChanged"> 
      <asp:ListItem>item 1</asp:ListItem> 
      <asp:ListItem>item 2</asp:ListItem> 
     </asp:DropDownList> 
     </ContentTemplate> 
    </asp:UpdatePanel> 



    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     throw new NotImplementedException(); 
    } 

我嘗試了很多變化,看是否有東西關閉,但每次都拋出異常。

您可能想要嘗試異常路由以查看回發是否正在發生,這不是調試器問題。

  • 有一個問題可能是Vista並沒有以管理員身份運行Visual Studios。我知道這有一個不允許調試的趨勢。

  • 也許你正在運行的程序集與代碼不符?如果您「在Browswer中查看」,然後附加調試器,則可能會發生這種情況。

+0

嘿感謝的人 - 我會嘗試你的代碼,並讓你知道我是如何得到的 – Ben 2008-12-04 16:14:01

1

當你取出UpdatePanel時它工作嗎?

+0

謝謝 - 剛試過。仍然不起作用!我將從頭開始創建新頁面並嘗試使用autopostback。 – Ben 2008-12-04 16:08:06

0

我也有同樣的問題,奇怪的是我的updatepanel在FireFox中觸發OnTextChanged,但在IE上死了。 Restartin VS 2005修復了這個問題。 :O

-1

而不是使用AutoPostBack =「true」將DropList設置爲更新面板中的觸發器。

1

UpdatePannel中的EnableViewState =「true」肯定能解決問題。

相關問題