我有一個網站,使用大量使用AJAX,併爲了保持東西像Urls在一個明智的地方,我輸出所需的網址在一個腳本塊在頁面上,然後在稍後的Javascript文件中使用它們。使用Url.Action沒有路由值截斷網址
這方面的一個例子是:
在Index.cshtml
<script>
if (!app.frontoffice)
app.frontoffice = {};
if (!app.frontoffice.urls)
app.frontoffice.urls = {};
if (!app.frontoffice.urls.index)
app.frontoffice.urls.index = "@Url.Action("index", "frontoffice", new { area = string.Empty, id = string.Empty })";
</script>
在JS文件的某處
$(function() {
$("myButton").click(function(e) {
$.ajax({
url: app.frontoffice.urls.index,
data: {
id: 55
},
success: ...
error: ...
});
});
});
的問題是, Ť他生成的Url被創建爲 - /frontoffice
,注意它不包括index
操作。這是因爲當它產生我們給它一個空id
,所以當我們來使用它,被請求的URL實際上是/frontoffic/55', not
/frontoffice /指數/ 55' ..
的UrlHelper
似乎被撲殺動作名稱來自url。有沒有另一種方法可以使用,不會從Url中刪除項目? - 我希望通過一個清晰的,可重複使用的解決方案逃脫,因爲這種事情發生在整個網站。
感謝
基隆