オール・オア・ナッシングの状況かどうか疑問に思っています。私がやりたいことは、通常の MVC 3 でページをロード (GET) することです。コントローラーはモデルを受け取り、それをビューに渡します。ビューと Razor でレンダリングします。ただし、ポストバックするときは、選択した情報をAJAX経由でポストバックしたいと思います。これは可能ですか?それとも、AJAX で GET と POST を実行する必要がありますか?
質問する
225 次
3 に答える
1
他の手段を使用してGETした後、AJAXを使用してPOSTすることは確かに可能です。
これは、まさにこれを行うSOに関するランダムな質問です。
GETアクションとPOSTアクションはまったく関連している必要はありません。
于 2012-07-23T17:22:11.373 に答える
1
以下のようなものを試してください。
コントローラーコード:
[HttpGet]
public ActionResult WhateverActionName()
{
YourViewModel yvm = new YourViewModel();
//Initalize viewmodel here
Return view(yvm);
}
[HttpPost]
public ActionResult WhateverActionName(YourViewModel yvm)
{
if (ModelState.IsValid) {
RedirectToAction("OtherAction", "OtherController")
}
return View(yvm);
}
アヤックス:
$.ajax({
url: myurl
// processData: false, // you may need this option depending on service setup
success: function(){
location.href = "TARGET LOCATION";
},
type: "POST"
});
ターゲットの場所の場合:次のURLが生成するURLを含む変数をajaxにフィードする必要があります
@URL.Action("Action", "Controller")
于 2012-07-23T17:25:56.207 に答える
0
http://knockoutmvc.comは、サーバー側のコードをクライアント側と統合する優れた方法を提供しており、目的を簡単に達成するのに役立つようです。
于 2012-07-23T17:29:33.977 に答える