js文件没有得到加载ajax加载部分视图MVC 4

问题描述:

自从最近几天以来,我一直面临一个问题,我无法访问在Mainview中引用的局部视图中的任何.js文件。即使我尝试在部分视图中再次引用相同的文件,但没有运气。我正在使用ajax链接打开部分视图作为模式弹出。据我所知,在Ajax调用的情况下,js文件不会被加载。所以试过 http://geekswithblogs.net/DougLampe/archive/2010/11/12/execute-javascript-in-mvc-partial-view.aspxlink。但没有运气。我不知道在公共的ActionResult DynamicJavaScript()方法中写什么。js文件没有得到加载ajax加载部分视图MVC 4

但是,如果我在部分视图中编写嵌入式脚本,它的工作原理当然是用局部视图加载,但不能加载到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注意)。

在此先感谢。

+0

你是什么意思你“不能在局部视图中访问.js文件”?方法调用不起作用吗?有没有事件绑定?某些代码将有助于给出正确的答案 – Amila 2014-09-30 08:09:02

+0

是的,js文件中的方法或函数没有被调用。 – user3851995 2014-09-30 10:13:26

Heloo我有同样的问题也解决了我就简单地改变@ 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以简单的按钮上用onclick甚至

<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); 
    } 

我希望这有助于。