0

我曾经使用 asmx 来处理来自页面的 ajax 调用,但我读到它是一个遗留产品,它与 MVC 应用程序不太兼容。现在也与 MVC 兼容的 asmx 的替代品是什么?

4

1 回答 1

1

使用控制器中的 Action 方法为您提供 Ajax 响应。您可以返回任何形式的数据,例如 HTML 标记(使用视图、Json、字符串。图像等...)

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

您可以使用相同的操作结果为 ajax 请求和使用 Request.IsAjax 方法的普通请求返回 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 回答