【发布时间】:2014-09-23 19:17:35
【问题描述】:
我有一个输出编辑器列表的部分视图。列表中的每个编辑器都有一个删除链接,使用@Ajax.actionlink 调用,如下所示:
if(Model.Any()){
<ul>
@foreach (var editor in Model)
{
<li>@editor.firstName @editor.lastName, @editor.emailAddress (@Ajax.ActionLink("Delete", "DeleteEditor", "EditorSurface", new { editorId = editor.id }, new AjaxOptions()))</li>
}
</ul>
}
我已将@using System.Web.Optimization; 包含在我的视图中,并且我也在从我的视图中调用jquery unobtrusive ajax 脚本:
@Scripts.Render("~/scripts/jquery.unobtrusive-ajax.min.js")
问题是当我查看源代码时,我的编辑器列表项的渲染标记是这样的:
<li>John Smith, johnsmith@example.com (<a href="/umbraco/Surface/EditorSurface/DeleteEditor?editorId=32" onclick="Sys.Mvc.AsyncHyperlink.handleClick(this, new Sys.UI.DomEvent(event), { insertionMode: Sys.Mvc.InsertionMode.replace });">Delete</a>)</li>
看到删除链接中的内联 JavaScript 有点失望,并希望有一些“更干净”的东西(可能是数据属性或其他东西?)。令我震惊的是,这将很难挂钩(提供确认消息等)。
问题是,这是 ASP.NET MVC 中 AJAX 的预期输出吗?我对此很陌生,所以不确定我在实施中是否做错了什么。
非常感谢。
【问题讨论】:
标签: asp.net-mvc asp.net-ajax actionlink