[英]Url.Action in JS don't work
在互聯網上,我在JS中找到了許多這樣的代碼示例:
window.location.href = "@Url.Action('Index', 'Home')";
人們使用HTML佣工的javascript代碼,例如看那個 。 但是,當我想要這樣做時,我得到一個簡單的字符串:
http://localhost:28832/@Url.Action('Index',%20'Home')
為什么我的HTML助手沒有得到處理?
剃刀語法在視圖上起作用。 如果您的JS代碼嵌入視圖中,它將起作用。 如果您在外部文件中包含JS代碼,不要指望它能正常工作。
如果您認為剃刀引擎如何為js文件提供服務,而從不對其進行處理,則它們只是資源。 我不知道是否有向剃刀引擎添加js支持的方法。
我使用這種解決方法:當我在JS文件上需要一些動態(剃刀)內容時,我要做的是聲明一個函數並將該內容作為該函數的參數。 然后,我從視圖文件中調用該函數,並將razor語句作為參數傳遞。 您的情況可能是這樣的:
JS檔案:
function foo(link){
window.location.href = link;
}
查看文件
<script>
foo("@Url.Action('Index', 'Home')");
</script>
編輯: 麥克斯韋·特洛伊·彌爾頓·金 ( Maxwell Troy Milton King)提供的此鏈接指向一個類似的問題,該問題具有很好的答案,如果此解決方案不夠,請嘗試一下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.