これはかなり基本的な質問です。
しかし、教えていただけますか可能なすべてのオプション
Razorビューからアクションメソッド[通常はサーバー側ルーチン]を制御するを呼び出し、
what各シナリオが最適ですで使用する.
ありがとう。
方法1:jQuery Ajax Get call(partial page update)を使用します。
データベースからjSonデータを取得する必要がある場合に適しています。
コントローラーのアクションメソッド
[HttpGet]
public ActionResult Foo(string id)
{
var person = Something.GetPersonByID(id);
return Json(person, JsonRequestBehavior.AllowGet);
}
Jquery GET
function getPerson(id) {
$.ajax({
url: '@Url.Action("Foo", "SomeController")',
type: 'GET',
dataType: 'json',
// we set cache: false because GET requests are often cached by browsers
// IE is particularly aggressive in that respect
cache: false,
data: { id: id },
success: function(person) {
$('#FirstName').val(person.FirstName);
$('#LastName').val(person.LastName);
}
});
}
個人クラス
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
方法2:jQuery Ajax Post呼び出しの使用(partial page update)。
データベースにデータを部分的にページ送信する必要がある場合に適しています。
Postメソッドも上記と同じです。Actionメソッドの[HttpPost]
を置き換え、jqueryメソッドのpost
として入力します。
詳細については、 ここでMVCコントローラーにJSONデータを投稿する
方法3:フォーム投稿シナリオとして(全ページ更新)。
データベースにデータを保存または更新する必要がある場合に適しています。
表示
@using (Html.BeginForm("SaveData","ControllerName", FormMethod.Post))
{
@Html.TextBoxFor(model => m.Text)
<input type="submit" value="Save" />
}
アクションメソッド
[HttpPost]
public ActionResult SaveData(FormCollection form)
{
// Get movie to update
return View();
}
方法4:フォーム取得シナリオとして(全ページ更新)。
データベースからデータを取得する必要がある場合に適しています
上記と同じGetメソッドも、Actionメソッドの[HttpGet]
とViewのフォームメソッドのFormMethod.Get
を置き換えるだけです。
これがあなたのお役に立てば幸いです。