簡體   English   中英

自定義UserControl中的SelectedIndexChanged未觸發

[英]SelectedIndexChanged in Custom UserControl not firing

我已經收到一個舊的.Net 1.1應用程序,上面寫着“使其再次運行”。 我現在正在遷移這只老野獸。

開發人員創建了一個自定義控件,其中包含一個html表行<tr>和4個<td>元素。

現在里面有一個<asp:Dropdownlist>

 <asp:DropDownList id="edit_jahr" runat="server" 
                   AutoPostBack="True" 
                   OnSelectedIndexChanged="edit_jahr_SelectedIndexChanged">
 </asp:DropDownList>

方法edit_jahr_SelectedIndexChanged看起來像這樣:

protected void edit_jahr_SelectedIndexChanged(object sender, System.EventArgs e)
{
    JahrChangedEventArgs args = new JahrChangedEventArgs((int)ViewState["jahr"],Convert.ToInt32(edit_jahr.SelectedValue));
    OnJahrChange(args);
    this.Jahr=args.NeuesJahr;
}

當前的問題是:OnSelectedIndexChanged事件沒有觸發,因此沒有添加新的Usercontrol,因此在頁面上運行的代碼將失敗。

請指出正確的方向。 為什么這不起作用,我該如何解決。

在沙盒解決方案中重建控件后,我終於找到了一種到達EventHandler的方法。

我必須在OnLoad方法中注冊SelectedItemChanged事件:

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);
    edit_jahr.SelectedIndexChanged += new EventHandler(edit_jahr_SelectedIndexChanged);
}

老實說,我不為什么。 如果有人可以回答並詳細解釋這個問題,我願意接受它作為回答,而不是我自己的帖子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM