我有一个带有Ajax.ActionLink删除图标的项目列表,要求确认删除操作。问题是在Web应用程序的浏览器中为“jquery.unobtrusive-ajax.js”的每个实例显示确认对话框。例如,如果计数文件实例为5,那么确认对话框将出现5次,这将使用户烦恼,这将迫使用户检查选项“防止此页面出现其他对话框”,从而防止出现确认对话框,除非该页面是刷新。我还尝试使用捆绑选项加载文件一次(在登录页面中),该选项按预期工作但如果用户在没有注销的情况下关闭浏览器,则不会加载'jquery.unobtrusive-ajax.js'重新访问网络应用程序。这会导致HTTP 404错误,HTTP GET请求被发送到控制器而不是HTTP POST,因为单击删除图标时未加载文件。 Screen shot for the JavaScript confirm dialog box
以下是部分视图的代码段:
@model IEnumerable<MyNameSpace.Models.FileDownloadModel>
@foreach (var item in Model)
{
<tr>
<td>@item.BlobFileName</td>
<td>@(String.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:0.00}", item.BlobLength / 1024))</td>
<td>@item.BlobContentType</td>
<td>
@Ajax.ActionLink("Delete", "DeleteFile", new { blobFileName = item.BlobFileName, contName = item.ContainerName }, new AjaxOptions { Confirm = "Are you sure, you would like to delete the file?", HttpMethod = "POST", OnSuccess = "OnSuccess" }, new { @class = "ui-btn ui-shadow ui-corner-all ui-icon-delete ui-btn-icon-notext ui-btn-inline", @title = "Delete" })
</td>
</tr>
}
问题是: 1.如果JavaScript文件不存在,是否有办法加载?
我很感激向导的任何建议。 谢谢,R。
更新: 对不起,我应该发布父视图的代码和部分视图。
父视图的代码段:
@{
ViewBag.Title = "Title_of_Page";
Layout = "~/Views/Shared/_LayoutSignedIn.cshtml";
}
<div id="secFiles">
@{Html.RenderPartial("~/Views/path/partialView.cshtml", Model);}
</div>
@section Scripts {
<script src="~/Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script type="text/javascript">
function OnSuccess(data) {
//code to refresh the list after delete action
if (data) {
$('#secFiles').html(data).enhanceWithin();
}
}
</script>
}