私はあなたが望むものを見つけたと思います。見てくださいhere。
簡単に言うと、サーバー側でWebMethodを定義し、jQueryを使用して簡単にアクセスできます。上記のリンクの下には、優れた作業例があります。ここでは、引数を渡す方法を示すために変更します。だから... ...あなたのページのコードビハインド* .csファイルで
:
// We'll use this class to communicate
public class Dog
{
public string Name { get; set; }
public string Color { get; set; }
}
// This is your page, in my case Default.aspx
public partial class _Default : System.Web.UI.Page
{
[WebMethod]
public static string ProcessData(Dog myDog)
{
return "Your " + myDog.Color + " dog's name is " + myDog.Name + "!";
}
}
その後、あなた*の.aspxの上:
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="json2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btnProcess").click(function() {
// This is what we want to send to the server
var dogItem =
{
Color: $("#txtColor").val(),
Name: $("#txtName").val()
};
// And this is how it should be sent - in serialized way
var dogItemSerialized = JSON.stringify(dogItem);
$.ajax({
type: "POST",
url: "Default.aspx/ProcessData",
data: "{'myDog':" + dogItemSerialized + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#result").text(msg.d);
}
});
});
});
</script>
Color: <input id="txtColor" type="text" /><br />
Name: <input id="txtName" type="text" /><br />
<input id="btnProcess" type="button" value="Click Me" />
<div id="result"></div>
だからここにあなたがテキストボックスに記入してからデータが送信されますそれをDogオブジェクトとして理解しているサーバに渡します。引数を渡すことに注意してください。これは最も混乱する部分です。あなたはJSON形式で渡す必要がありますが、これはちょっと「あまりにも多くの文字列」です。だからここでjson2を使う。通常のjavascriptオブジェクトをJSON直列化文字列(JSON.stringify()メソッド)に変換するのに役立つjsスクリプトです。利用可能なのはhereです。しかし、まだかなり醜い=)私は、値がシリアル化されたdogItemである "myDog"という引数を渡すことが重要です。これは、サーバーが(そう、例えば、私は引数名を変更することはできません取得する予定で、まさにあるので、このはを動作しません。
data: "{'someAnotherArgumentName':" + dogItemSerialized + "}"
そして最後以下に注意してください。ライン:あなたは以前3.5(例えば、ASP.NET 2.0)にASP.NETを使用している場合
success: function(msg) {
$("#result").text(msg.d);
}
、その後、あなただけの$( "#結果")を記述する必要がありますテキスト(MSG。)の代わりにmsg.d。ASP.NET 3.5のみが "d"メンバーのすべてのデータをカプセル化します何らかの理由で...
とにかく、上記の記事では、記事やコメントの中の便利なリンクを見つけることができるので、引数 "msg.d"などを読むことができます。
こちらがお役に立てば幸いです。
ドミトリーありがとう、私はjQueryツリービューを使用していません。私はちょうど純粋なクライアントベースのツリービューが必要です。私が必要とするのはクライアント側のツリービューで、Saveボタンはコールバックをトリガーし、ツリービューのデータを収集してサーバーに送信します。 – sarsnake
もちろん私は自分のツリービューを実装することができましたが、この日と年齢で私はする必要はありません。 – sarsnake
私が理解している限り、クライアント上のツリーにアクセスできる限り、MSコールバック(私のページはSystem.Web.UI.ICallbackEventHandlerインターフェイスを実装します)を使用してツリーを消費し、データをサーバー、JSON形式私は、Jquery ajaxを使用することは.netで動作しないことを理解しています。 – sarsnake