2011-02-24 72 views
1

的JavaScript代码所以,我有我的母版页的JavaScript函数。当我从源自这个母版页的页面调用它时,它工作正常,但是,在没有的页面上,它显然不起作用。我无法将它放入另一个.js文件,因为它使用了一些嵌入的c#代码,所以它必须位于<script>标记内。继承刚刚从母版页

这是函数:

function GridExport(viewUrl, fileName) 
    { 
     var actionUrl = "<%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/ExportToExcel")%>"; 
     var guid = GetGUIDValue(); 
     window.open((actionUrl + "?id=" + guid + "&viewName=" + viewUrl + "&fileName=" + fileName), null, null, null); 
    } 

是有办法,我可以只包含来自我的母版页另一视图中的Java脚本定义,而不从母版页派生?

回答

0

您可以创建一个包含这<script>或抽象出actionUrlGridExport功能

function GridExport(viewUrl, fileName, actionUrl) 
{ 
    var guid = GetGUIDValue(); 
    window.open((actionUrl + "?id=" + guid + "&viewName=" + viewUrl + "&fileName=" + fileName), null, null, null); 
} 

另一个方便的方法来避免这条道路的问题将有一个全局变量的参数的UserControl定义网站的根:

var root = "<%= System.Web.VirtualPathUtility.ToAbsolute("~/") %>"; 

然后你的函数可以使用这个变量e并追加它所需要的内容:

function GridExport(viewUrl, fileName) 
{ 
    var actionUrl = root + "mvc/Indications.cfc/ExportToExcel"; 
    var guid = GetGUIDValue(); 
    window.open((actionUrl + "?id=" + guid + "&viewName=" + viewUrl + "&fileName=" + fileName), null, null, null); 
} 
0

主页面可以彼此嵌入。为什么不只是制作一个只有你的JavaScript的母版页。然后制作另一个拥有javascript母版页的母版页,因为它是母版页。在创建新页面时,您可以选择使用哪一个。

MasterPage1 - >只是JavaScript的

MasterPage2 - >包含你的其他的东西,有MasterPage1,因为它的主人

如果你只是想的JavaScript然后用户MasterPage1,其他一切用户MasterPage2。