MVC モデル バインディングについては、非常に多くの役立つ情報があります。私の問題は、主にデータルーターとして機能する必要があるため、MVC アプリケーションで厳密に型指定されたデータを作成しないようにしようとしていることに起因しています。
基本的に、ページに一連のフィールドがあり、クラス「入力」を使用して収集しjQuery('.input')
、繰り返し処理して、javascript オブジェクトに詰め込むことができます。次に、これを ASP.NET MVC コントローラーに送信します。
var inputData = my_serialize( $('input');
$.ajax({
type:'POST',
url: '/acme/Ajax/CaptureInput',
dataType: "json",
data: { inputData: JSON.stringify(inputData) },
success: Page_Response_RegisterAndDeposit,
error: Page_AjaxError
});
C#側では、
public JsonResult CaptureInput(string inputDataAsJsonString)
{
JavaScriptSerializer JSON = new JavaScriptSerializer();
object inputData = JSON.DeserializeObject(inputDataAsJsonString);
これは無駄なレベルの間接的なように思えます。データを contentType:application/json として渡し、CaptureInput にobject
orIDictionary
またはdynamic
.