0

したがって、ASP.NET では次のようにします。

    <asp:ListBox OnSelectedIndexChanged="UpdateModels" runat="server" > </asp:ListBox>

しかし、私のリストボックスは .ascx ファイル内にあります。これは、このように私の実際のWebページmassupdate.aspxに登録され、含まれています

<%@ Register TagPrefix="mass" TagName="make" Src="~/DynamicData/Make.ascx" %>
<mass:make id="makeControl" runat="server"/>

そして私のmake.ascx.csにはこれがあります

   public ListBox getlistbox()
    {

        return DropDownList1;

    }

したがって、元のリストボックスにアクセスできますが、 mass.update.aspx の分離コードで C# の最初のコード スニペットを複製する方法がわかりません。

4

1 に答える 1

0

まず、ascx に登録されたイベントは、コントロールとしてページに登録されていても発生するはずです。イベントは、ページ上のすべてのコントロールを介してバブルアップ (またはダウン?) する必要があります。これは、Web フォームの「魔法」の一部です。

次に、コードでイベント ハンドラーを設定する必要がある場合は、Google で「イベント ハンドラー .NET コントロールを追加」するか、以下に同様の内容を入力すると、「+=」 」 そして、そこから取得できます。

makeControl.getlistbox().OnSelectedIndexChanged += this.Index_Changed

void Index_Changed(Object sender, EventArgs e) {
    // whatever you need to do on the event
}
于 2013-06-25T21:52:01.607 に答える