0

以前は asmx を使用してページからの ajax 呼び出しを処理していましたが、これはレガシー製品であり、MVC アプリケーションとの互換性があまりないことを読みました。現在MVCと互換性のあるasmxの代替品は何ですか?

4

1 に答える 1

1

コントローラーで Action メソッドを使用して、Ajax 応答を返します。HTML マークアップのような任意の形式のデータを返すことができます (view、Json、string . Image などを使用)。

public ActionResult GetItems()
{
  var items=dbContext.Items;
  return Json(items,JsonRequestBehavior.AllowGet);
}
public ActionResult GetAnother()
{     
  return Content("I am just string from ajax");
}

Request.IsAjax メソッドを使用して、ajax リクエストと通常のリクエストの HTML マークアップを返すために、同じアクション結果を使用できます。

public ActionResul Getcustomer(int id)
{
  var customer=dbcontext.Customer.Find(id);
  if(Request.IsAjax())
  {
     return View("PartialCustomerForm",customer);
  }
  return View("RegularCustomerForm",customer);

}

ページからこれらのメソッドを呼び出すには、jquery ajax を使用できます。

$.get("@Url.Action("GetItems","Customer")", { id: 3 },function(data){
   //do whatever with the response. //alert(data);
});
于 2012-04-27T21:24:47.197 に答える