部分ポストバックで必要な任意のフォーム コントロールまたはコントロールのすべての値を取得できます。これは些細な答えですが、一見しただけでは直感的にわかりません。多分それが ASP.net が死んでいる理由です。
のパラメータを覚えておいてください
__doPostback(string controlId,string param)
文字列、および ASP.net メソッド
Request.Params.Get("__EVENTTARGET"); // id
Request.Params.Get("__EVENTTARGET"); // parameter
文字列を返します。
したがって、簡単な答えは
パーシャルで送り返したいすべてのフォーム要素のキーと値のペアを持つ JavaScript オブジェクトを構築します。
そのオブジェクトを文字列化し、__doPostBack 呼び出しの 2 番目のパラメーターとして渡します。
サーバー側では、このプロセスを逆にして、オブジェクトと関心のあるすべてのフォーム値を抽出します。
例えば :
var strigifiedObject = JSON.stringify(myFormObject);
var id = "partialPostback";
__doPostBack(id, strigifiedObject);
... 一方、サーバー側では
string id = Request.Params.Get("__EVENTTARGET");
string param = Request.Params.Get("__EVENTARGUMENT");
if (id == "partialPostback") {
List<MyObj> formVals = new JavaScriptSerializer().Deserialize<List<MyObj>>>(param);
}