2012-11-22 163 views
3

我遇到了我的DropDownList問題。事件不會發射!我已經在一個單獨的項目上測試了它,用DropDownList和一個文字。每次選定的值都會改變,我會爲文字添加一個小星星「*」。沒有問題,所以永遠。但是每次我在項目的網頁上嘗試它時,都會失敗。DropDownList事件不會觸發

Here是一個圖像。

protected void ddlConsole_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    ltlTesting.Text += "*"; 
} 

UPDATE:

我已經嘗試了一些東西,但仍然沒有更迭。我希望有人能告訴我我做錯了什麼。我將代碼中的事件連接到現在,但我在下拉列表旁邊添加了一個linkbutton,以查看它是否有效。

protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     ddlConsole.SelectedIndexChanged += new EventHandler(ddlConsole_SelectedIndexChanged); 
     lnkGet.Click += new EventHandler(ddlConsole_SelectedIndexChanged); 
    } 

這裏是看發生了什麼事情的圖像。在開始的文字中的條紋在頁面加載中添加了與星號相同的代碼。只是爲了確保它不會加載兩次。 「GET」鏈接按鈕正常工作。在下拉列表不...

+0

我沒有這樣說過。我只是有點沮喪,因爲我無法做到這一點,我感覺這是我正在尋找的很小的東西。你有自己的名譽,有什麼要求嗎? – Chris

+0

我更新了我的答案,檢查出來我認爲是你的問題 –

回答

2

有你在控件的屬性設置

AutoPostBack="true" 

編輯:

從ASPX頁面的標記刪除

OnSelectedIndexChanged="ddlConsole_SelectedIndexChanged" 

只有用真正的AutoPostBack和代碼隱藏定義的 事件再試一次。 ASPX頁面看起來應該是這樣:

<asp:DropDownList runat="server" ID="ddlConsole" AutoPostBack="True"></asp:DropDownList> 
+0

Thx的答覆。我試過這個。 保護覆蓋無效OnInit(EventArgs e) { base.OnInit(e); ddlConsole。SelectedIndexChanged + = new EventHandler(ddlConsole_SelectedIndexChanged); } 沒有成功:( – Chris

0

是在下拉列表trueAutoPostBack? DROPDOWNLIST的

0

檢查AutoPostBack屬性將其設置爲true:

0

如果圖片是權利和AutoPostBack="True",有沒有設置的ltlTesting當頁面加載值的任何代碼?

0

AutoPostback="True"OnSelectedIndexChanged="ddlConsole_SelectedIndexChanged"添加到ddlConsole屬性中。您可以刪除OnInit方法,因爲您在設計時綁定了SeletedIndexChanged事件。