[英]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.