mar*_*ery 12 asp.net ajax asp.net-mvc-3
当我点击Ajax.ActionLink时,它会调用我的控制器两次.
<td id = @tdTag>
@Ajax.ActionLink("LL-" + item.getProjectAbbreviation(item.projectID.Value) + "-" + item.prjLessonID, "Details",
new { id = item.lessonID },
new AjaxOptions
{
HttpMethod = "POST",
UpdateTargetId = "details",
InsertionMode = InsertionMode.InsertAfter ,
OnSuccess = "showDetails()"
})
Run Code Online (Sandbox Code Playgroud)
我的控制器看起来像这样......
public ActionResult Details(int id)
{
using (LLDataContext storeDB = new LLDataContext())
{
var lesson = (from l in storeDB.lessons
where l.lessonID == id
select l).SingleOrDefault();
return PartialView(lesson);
}
}
Run Code Online (Sandbox Code Playgroud)
小智 32
我刚刚遇到同样的问题,我发现我已经加载了两次"jquery.unobtrusive-ajax.js".我删除了第二个实例,一切运行良好.要查看此操作,只需添加三次,然后使用Confirm AjaxOption创建一个@ Ajax.ActionLink(...).您将多次获得确认.
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
确保您已将 jquery unobtrusive 脚本包含到您的页面中(除了 jquery 之外):
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
并且您已在 web.config 中启用了不显眼的 javascript
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
Run Code Online (Sandbox Code Playgroud)
另外,为了进一步诊断此类问题,我建议您使用一些工具,它可以让您准确了解 HTTP 级别发生的情况。FireBug对于此类分析非常出色。它还会显示您可能遇到的任何可能的 javascript 错误,它会显示或不显示 AJAX 请求,这将为您提供更多信息,无论是执行 AJAX 请求还是正常请求,...有用的东西。
| 归档时间: |
|
| 查看次数: |
10980 次 |
| 最近记录: |