2011-02-24 94 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。