0

親にバブル アップできるカスタム asp.net コントロールでイベントを作成するにはどうすればよいですか? イベントを追加して処理する方法は知っていますが、少し行き詰まっているのは、たとえばリピーター コントロールで親に接続できるイベントを追加する方法です。

リピーターはコントロールです。たとえば、カスタム コントロールに接続された onclick イベントが発生し、他のコントロールと同じように、onclick イベントで提供されたアドレスにイベントが発生します。それが VB であればありがたいのですが、c# でも同様です。

編集

私は簡単な解決策を探していましたが、これに出くわしました。これは機能し、実装が非常に簡単です。詳細な例については、http://msdn.microsoft.com/en-us/library/db0etb8x (VS.85).aspx を参照してください。

Public Event EditClick As EventHandler(Of MyEventArgs)
Public Class MyEventArgs
    Inherits EventArgs
    Public ItemID As Int32
End Class

Protected Sub EditButton_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles EditButton.Click
    Dim A As New MyEventArgs
    A.ItemID = ItemID
    RaiseEvent EditClick(Me, A)
End Sub

次に、イベントをバインドします。

<uc1:MyItem OnEditClick="EditItem" ...

そして、コードビハインドはイベントを処理します

Sub EditItem(ByVal sender As Object, ByVal e As MyItem.MyEventArgs)
        Edit(e.NewsItemID)
End Sub
4

2 に答える 2

1

ここで私の答えを見てください。これはあなたが求めることをしています、

また、イベントの使用に関する情報:

    //declare the event using EventHandler<T>
    public event EventHandler<ImeiRecordParserProblemEventArgs> ImeiRecordParserProblem;

    //fire event: the check for null sees if the delegate is subscribed to
    if (ImeiRecordParserProblem != null)
    {
     ImeiRecordParserProblem(this, new ImeiRecordParserProblemEventArgs(lineNumber + " : " + lex.Message,ProblemType.AmbiguousRecordType));
    }

    //wire up the event in the catching code or otherwise assign in the .aspx
    Irp.ImeiRecordParserProblem += new EventHandler<ImeiRecordParserProblemEventArgs>(Irp_ImeiRecordParserProblem);

//and the EventArgs class:
public class ImeiRecordParserProblemEventArgs : EventArgs
    {}
于 2009-06-04T02:29:34.177 に答える
0

私は簡単な解決策を探していましたが、これに出くわしました。これは機能し、実装が非常に簡単です。詳細な例については、http://msdn.microsoft.com/en-us/library/db0etb8x (VS.85).aspx を参照してください。

Public Event EditClick As EventHandler(Of MyEventArgs)
Public Class MyEventArgs
    Inherits EventArgs
    Public ItemID As Int32
End Class

Protected Sub EditButton_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles EditButton.Click
    Dim A As New MyEventArgs
    A.ItemID = ItemID
    RaiseEvent EditClick(Me, A)
End Sub

次に、イベントをバインドします。

<uc1:MyItem OnEditClick="EditItem" ...

そして、コードビハインドはイベントを処理します

Sub EditItem(ByVal sender As Object, ByVal e As MyItem.MyEventArgs)
        Edit(e.NewsItemID)
End Sub
于 2009-12-10T04:28:25.627 に答える