プロジェクトのサーバー側で解決できない問題があります。
説明します:
Global という名前のページがあります。これは ASP.NET ページです。このページでは、CateGories という名前の UserControl を使用します。これで、この UC ページにボタンができました。これを押すと、DB と接続するグローバル ページの関数を呼び出します。
デリゲート(イベント)を使用することにしました
これがコードです。
グローバルページ:
// ここで、関数をイベントに追加します
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ShowCurrentTime.Text = DateTime.Now.ToString();
}
CateGories ClassCat = new CateGories();
ClassCat.MainDel += PopulateLinks;
}
//これは、イベントが実行される関数です
public void PopulateLinks(string CategoryName)
{....}
UC ページのコード (CateGories):
// イベントの委任
public delegate void Click(string ButtonName);
public event Click MainDel = null;
// ボタンをクリックすると呼び出される関数
protected void News_Click(object sender, EventArgs e)
{
if (MainDel != null)
{
MainDel(News.Text);
}
}
これですべてが正常に動作するはずですが、コンパイラが
if(MainDel!=null)
...
関数には入らず、MainDel は null です。ここで問題がわかりません。関数を MainDel に挿入した後、最終的に null になるのはなぜですか...
どなたかお役に立てれば幸いです よろしくお願いします。最大。