簡體   English   中英

JS中的網址操作不起作用

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

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