簡體   English   中英

ASP.NET MVC路由和路徑是js文件

[英]ASP.NET MVC routing and paths is js files

我們現在面臨一個問題。 我們有一個非常大的頁面,帶有一個loooong內聯腳本,可以完成所有工作。 我們現在想要對其進行模糊處理並將其用作單獨的.js文件。 但問題是我們有由Url helper(Url.Content())生成的路徑。 那么將js文件與頁面分開而不使用硬編碼路徑字符串的最佳方法是什么?

我通常在單獨的視圖中編寫我的javascript(只有js代碼)並使用我自己的動作結果來渲染它。 這樣我可以利用服務器端的c#,如果需要我可以使用模型,它將作為外部js文件包含在瀏覽器中(具有適當的緩存)。 我使用的動作結果可以在這里找到: http//codepaste.net/p2s3po

更新

您可以在操作中使用此操作結果:

public ActionResult JsFile() {
    ViewData.Model = //Create model if you want one;
        return new JavascriptFileResult(true)
                   {
                       TempData = TempData,
                       ViewData = ViewData
                   };
}

然后你只是將它視為普通視圖(但只在視圖中編寫javascript)。 當然,您也可以使用任意數量的參數。

你可以這樣包括它:

<script type="text/javascript" src="<%=Url.Action("JsFile", "ControllerName")%>"></script>

您可以創建javascript函數來設置所需的路徑,並從頁面的小腳本部分調用它們。

Javascript文件:

var resource1;
var resource2;

function setResourcesReferences(resource1, resource2, ...) {

}

ASPX文件:

<script type="text/javascript">
   setResourcesReferences(<% Url.Content("Resource1") %>, <% Url.Content("Resource2") %>, ...);
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM