0

ページ内に 4 つのユーザー コントロールがあり、ページはマスター ページ内にあります。ユーザー コントロール内のリンクをクリックすると、ページ内に存在する Web メソッドへの JavaScript Ajax 呼び出しが開始されます。次に、そのページ呼び出しはユーザー コントロールのメソッドです。

ユーザーコントロール

function statusImageClick(Key) {
    //ajax call to update the grid with the updated/inserted data.
    $.ajax({
        type: "POST",
        url: 'Page1.aspx/UpdateFRStatus',
        data: '{key : "' + Key + '"}',
        ....
}

public void UpdateFRStatus(int key)
{
    .....
}

Page1.aspx

[WebMethod]
public static void UpdateFRStatus(int key)
{            
    Page1 pageObj = new Page1();
    pageObj.UpdateFRStatusforAjax(key);
}

private void UpdateFRStatusforAjax(int key)
{ 
    ucFR.UpdateFRStatus(key);
}

質問 1: ucFR.UpdateFRSTatus(key)は、 ucFRが nullであるというエラーを返します。

質問 2: この動作に対する正しいアプローチがどうあるべきかわかりません。

私の問題を説明したことを願っています。

前もって感謝します。

4

1 に答える 1

0

ASP.NET AJAX ページ メソッドは静的であり、ページのコントロールにアクセスできません。

オブジェクトをインスタンス化してPage1いても、ユーザー コントロールをホストしているページ内のコントロールとページ メソッド自体への参照はありません。

ASP.NET AJAX ページ メソッドは、ページによってホストされる Web サービスと考えてください。ただし、ロジックがページ自体に記述されているという意味でのみホストされます。コンテキストでページに直接接続されていないため、データを取得するためだけに使用し、ページがサブスクライブして反応できるユーザー コントロールでイベントを発生させることをお勧めします。

于 2013-10-31T20:38:32.163 に答える