在过去的几天里,我一直面临一个问题,那就是我无法访问在主视图中引用的局部视图中的任何.js文件。甚至我也尝试在局部视图中再次引用相同的文件,但没有成功。我使用ajax链接打开部分视图作为模式弹出窗口。据我所知,在Ajax调用的情况下,js文件不会被加载。所以尝试了http://geekswithblogs.net/DougLampe/archive/2010/11/12/execute-javascript-in-mvc-partial-view.aspxlink。但没那么走运。我不确定要在公共ActionResult DynamicJavaScript()方法中编写什么。
但是,如果我在局部视图中编写嵌入式脚本,那么它的工作方式当然是与局部视图一起加载,但不是在js文件中。PSB我的代码打开部分视图。
@Ajax.ActionLink("Edit", "EditVoucherBook", "Tasks", new { id = m1.vbkID, PageNumber = Model.PageNumber }, new AjaxOptions { HttpMethod = "get", OnBegin = "openmodalpopup", OnComplete = "closemodalpopup" }, new { @class = "modal-popup" }).
openmodalpopup和closemodalpopup需要在局部视图中编写,用于显示ajax加载图像(.gif)。
提前谢谢。
发布于 2014-11-14 21:24:28
你好,我也有同样的问题,我只是简单地把@Ajax.ActionLink改成一个带有内联javascript的按钮就解决了
我的旧代码在我的list.cshtml部分屏幕中
@Ajax.ActionLink("Add Notes", "OpenCreateForm", new { merchantNumber = Model.MerchantNumber }, new AjaxOptions { InsertionMode = InsertionMode.Replace , HttpMethod = "GET", OnSuccess = "OpenPopup" }, new { @class = "btn form-size200" })
"OpenCreateForm“是我的控制器方法。这种情况下,我无法访问任何捆绑的js脚本。
我把我的@Ajax.ActionLink改成了简单的按钮
<input type="button" class="btn form-size200" value="Add Notes" onclick="openFormCreate(@Model.MerchantNumber);" />
然后在我的索引文件中,我编写了这段js代码。
function openFormCreate(mrcNumber) {
$.ajax({
contentType: 'application/html',
url: '@Url.Action("OpenCreateForm", "BranchNotes")',
dataType: 'html',
type: 'GET',
data: {
merchantNumber: mrcNumber
}
}).done(function (result) {
CreateDialog('Notes');
myDialog.html(result).dialog().dialog('open');
});
}
我的控制器是
public ActionResult OpenCreateForm(string merchantNumber)
{
BranchNotesDetailViewModel viewModel = new BranchNotesDetailViewModel()
{
MerchantBranchNotes = new MerchantBranchNote()
{
MerchantNumber = long.Parse(merchantNumber),
}
};
return PartialView("Edit", viewModel);
}
我希望这能帮到你。
https://stackoverflow.com/questions/26113537
复制相似问题