0

ユーザーがクリックしたときにSubmitButtonインスタンスを含むコントロールが送信ボタンの動作を決定する送信ボタンを持つユーザーコントロール(SubmitButton)があるとします。

ユーザーコントロールの.csファイルで次のことを試しました。

    protected void nextPage_Click(object sender, EventArgs e) {

        submitData();

        Response.Redirect("completed.aspx");
    }

    protected abstract void submitData();

しかし、submitDataメソッドをどこに実装すべきかわかりません。

メソッドのプレースホルダーのようなものです。

4

3 に答える 3

1

コントロールはイベントを公開する必要があります。たとえば、SubmitClicked。それを含むコントロールよりもあなたはそのイベントを購読し、あなたがすることを選択したことは何でもします。イベントを公開している場合は、必要な数のイベントハンドラーをアタッチできます。

それがasp:Buttonがすでに行っていることです。Clickイベントとaspxページを公開します。そのイベントをサブスクライブし、コードビハインドファイルにイベントハンドラーを実装するだけです。

于 2011-07-03T19:03:09.400 に答える
0

これは抽象クラスになります。これらのインスタンスを作成することはできません。それを継承する独自のクラスを作成し、抽象メソッドとプロパティを実装する必要があります。例えば:

public class MySubmitButton : SubmitButton {
  protected override void submitData() {
    // do somthing
  }
}
于 2011-07-03T18:55:21.797 に答える
0

関数デリゲートのようなものを試してください:

using System;

namespace ConsoleApplication1
{
    public delegate void FunctionToBeCalled();

    public class A
    {
        public FunctionToBeCalled Function;

        public void Test()
        {
            Function();
            Console.WriteLine("test 2");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            A instanceA = new A();
            instanceA.Function = TheFunction;
            instanceA.Test();
        }

        static void TheFunction()
        {
            Console.WriteLine("test 1");
        }
    }       

}
于 2011-07-03T19:02:39.203 に答える