MVC 中的异步 link?
Async link in MVC?
我的 MVC 应用程序中有一个 url 转到这样的控制器
public ActionResult Activate(int Id)
{
var Item = from a in db.users
where a.users.Equals(Id)
select a;
users x = Item.FirstOrDefault();
x.Aktiv = true;
db.SaveChanges();
}
是否有可能当用户在视图中单击 link 时,它会转到控制器并在后台执行此操作并 returns 结果,有点像 ajax 在 jquery 我猜?
控制器方法不能异步,解释很简单,客户端如何知道异步方法何时准备好?就像您自己建议的那样,您应该使用 ajax 进行异步调用(在 mvc Ajax.Actionlink 中)。
Ajax.Actionlink 上有一篇很好的文章:see this site
将 MS Ajax 库添加到您的视图中:
<script src="~/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="~/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
要调用您的控制器操作结果,您可以使用 Ajax 调用:
@Ajax.ActionLink("Activate Me", "Activate", new AjaxOptions { Id = "1" })
我的 MVC 应用程序中有一个 url 转到这样的控制器
public ActionResult Activate(int Id)
{
var Item = from a in db.users
where a.users.Equals(Id)
select a;
users x = Item.FirstOrDefault();
x.Aktiv = true;
db.SaveChanges();
}
是否有可能当用户在视图中单击 link 时,它会转到控制器并在后台执行此操作并 returns 结果,有点像 ajax 在 jquery 我猜?
控制器方法不能异步,解释很简单,客户端如何知道异步方法何时准备好?就像您自己建议的那样,您应该使用 ajax 进行异步调用(在 mvc Ajax.Actionlink 中)。
Ajax.Actionlink 上有一篇很好的文章:see this site
将 MS Ajax 库添加到您的视图中:
<script src="~/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="~/Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
要调用您的控制器操作结果,您可以使用 Ajax 调用:
@Ajax.ActionLink("Activate Me", "Activate", new AjaxOptions { Id = "1" })