0

ウェブフォームで ac# 関数を呼び出す方法を見つけようとしています。私は ajax と windows.location の両方を試しましたが、私の道から外れている可能性があります。SpeakerList.aspx/update で私の c# コードを送信してから、javascript にある 2 つの変数を添付しようとしていますが、それほど悪くはありません。しかし、C#関数をヒットしてからページをリロードしたいので、簡単な呼び出しが欠落していることを願っています。

 buttons: {
                    "Save": function () {
                        var combo = ASPxClientControl.GetControlCollection().GetByName('DropDownList1');
                        var value = combo.GetSelectedItem().value;
                        var billID = $("#billID").val();
                        window.location = "SpeakerList.aspx/updateRec";
                    }
4

2 に答える 2

0

MVC を使用していると仮定すると、おそらく JSON の結果を返したいと思うでしょう。クライアント Web ページ内で Json を使用する簡単な方法は、JQuery を使用することです。Web ページの出力として JSON を返すことはできますが、お勧めしません。JSON メソッドを表す別のサービス ポイントを作成します。

実際に何を達成しようとしているのかを伝えるのは難しいですが、JSON メソッドの通常の使用パターンは、クエリ文字列の一部としてパラメーターを提供することです (必要に応じて、ルーティングでリファクタリングできます)。結果は単なる JSON パケットになります。

個人的には、サーバー側の JSON には JSON.Net が好きですが、実際にはこれは必要ありません。これを行う方法を示す例などについては、JSONMethod を参照してください。

ブラウザー クライアントから見ると、JQuery には json メソッドがありますが、成功、エラー、および完了のハンドラーを使用できるように、JQuery のより一般的な ajax メソッドを使用することを個人的にお勧めします。例えば

  $.ajax({
    url: "http:...",
    data: queryparm,
    cache:false,
    timeout:15000,
    success: function(data){
      jresult = $.parseJSON(data);
      ...
    },

    error:function (xhr, ajaxOptions, thrownError)
    {
      setErrorMsg("Error getting search results: " + thrownError);
    } 
  });

編集 - 実際、私はこれとまったく同じことをWebフォームでも行いました.コードは本質的に同じです(サーバー側でJSON.Netを使用する場合)。URL を REST に準拠させるためのルーティング オプションはありませんが、内部の json Web サービスとしては、おそらく気にする必要はありません。

Web ページ (.aspx) ページとして、「ポストバック」を使用できます。これは Web フォームの最も簡単な方法です。ネイティブの「コントロール」値を返さない場合は、データの受け渡しに使用する隠しフィールドをいつでも宣言できます。これを行う方法がわからない場合は、Web フォームの使用に関するチュートリアルを読む必要があります。

于 2013-09-20T20:28:08.050 に答える