3

Asp.Net 2.0 framewrok - VB.Net應用程序 我有一個UserControl包含一個Asp.Net DropDownList。在用戶控件Asp.NET dropdownlist不發射SelectedIndexChanged事件

觀光已經研究和\或嘗試:

  • 控制被綁定到在頁加載數據內如果沒有Page.IsPostBack(只加載一次)
  • ID proprety設置爲控制(ID = ddlMyControl)
  • 的AutoPostBack被設置爲true
  • 的EnableViewState上的控制被設置爲true
  • AutoEventWireUp在用戶控件聲明被設置爲真
  • EnableEventValidation設置爲false父頁面

的控制,將不會觸發它的SelectedIndexChanged事件,無論我做什麼。幫幫我 !!

謝謝:)

回答

4

我遇到了類似的問題,這是因爲我將AutoPostBack =「true」置於控制定義之外。在您原來的帖子中,您說過您已經嘗試過,但是發佈的代碼爲:

<uc3:TheControl ID="ucMyControl" runat="server" /> 

不反映AutoPostBack屬性。我補充說,我的問題和照顧。希望有所幫助。

+0

極好的一點 - 我在下拉控件上設置了autopostback = true,但在包含它的用戶控件上沒有。我會試一試。 – 2011-07-21 19:18:20

+0

@Jason你的意思是簡單地將屬性添加到UC?因爲我試過''並且它不適用於我。我相信我的設置與OP完全相同。 :( – Chiramisu 2013-01-29 01:26:04

0

那麼「surounding」頁面如何?你可以在另一個頁面中嘗試你的UserControl?

如何添加事件處理程序? 你如何包含使用控制? (當通過代碼,可能是晚了?)

可能是你能證明一些代碼;-)

+0

在上面的答案中添加了代碼,以便我可以使用代碼塊。 – 2010-02-25 21:52:14

0

的用戶控件沒有被加載dynamicaly但的在HTML添加到父頁面在設計時

<uc3:TheControl ID="ucMyControl" runat="server" /> 

頁的事件處理程序codded在UserContorl本身背後的代碼 - 標準的東西:

Protected Sub ddlMyThing_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMyThing.SelectedIndexChanged 
    'Do event stuff here. 
End Sub 
+2

這將是更好的擴展原來的問題,而不是使其成爲溝通線程 - 我相信.. – Robert 2010-02-25 16:13:24

+0

autoPostBack是否工作,頁面重新加載? – Robert 2010-02-25 16:18:26

+0

否 - autopostback根本沒有觸發 - 我在頁面加載和SelectIndexChanged事件處理程序的調試中都設置了斷點,並且應用程序只需在DropDownList中選擇一個新項目時不停地運行。按鈕點擊在同一個用戶控件DO火然而 - 現在去圖:) – 2010-02-25 16:55:36

0

你有沒有設置onselectedindexchanged="ddlMyThing_SelectedIndexChanged" prope ddl的rty?

+0

否 - 事件處理程序中有句柄屬性 受保護的子ddlMyThing_SelectedIndexChanged(ByVal發件人爲對象,ByVal e爲System.EventArgs)處理ddlMyThing.SelectedIndexChanged '在此處執行事件。 End Sub – 2010-02-25 21:46:04

0

我認爲你需要設置EnableEventValidation爲True。

看看這個。

http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_22405007.html

希望這有助於。

感謝,

拉賈

+0

我不會支付該網站的答案:) - 被說 - EnableEventValidation默認情況下是true,如果沒有聲明,並且回發不是wroking。我在我的研究中發現的一篇文章,通過將其設置爲false來解決完全相同的問題 - 儘管對我來說不起作用。 – 2010-02-25 20:17:43

1

我知道這是非常晚,但我認爲這會幫助別人誰遇到同樣的問題。

我假設你想開火SelectedIndexChanged事件DropDownList這已經綁定了一些數據!
例如[C#]

ddlMyDropDown.DataSource = listOfCustomers; 
ddlMyDropDown.DataTextField = "CustomerName"; 
ddlMyDropDown.DataValueField = "CustomerID"; 
ddlMyDropDown.DataBind(); 
ddlMyDropDown.CauseValidation = false; 

我假設你正在使用asp.net(最新版本)..也許4.0。

+2

這裏的答案在哪裏? – mmssaann 2013-10-23 05:35:27

相關問題