簡體   English   中英

Url.Action僅呈現控制器和操作,但不呈現id

[英]Url.Action only render controller and action but not id

我需要為我正在進行的JavaScript搜索呈現一個URL。 不幸的是, Url.Action不僅呈現動作,還呈現當前的id。 當目前在頁面上利用具有id的動作時,會發生這種情況。

為了說明Url.Action("List", "Org"); 將首先渲染Org/List ,我可以從中添加要列出的組織。 但是,在將位置移動到Org/List/12345 Url.Action("List", "Org"); 將渲染Org/List/12345並追加到那會產生一個問題,我最終得到Org/List/12345/6789

除了Url.Action之外,我還能使用其他方法嗎? 我已經考慮過使用JavaScript來檢查/刪除部分字符串的數量,但這看起來有點像hackish。

// appears in my Site.Master & utilizes the AutoComplete plugin for jQuery
$(document).ready(function() {
    $("input#FindOrg").autocomplete('<%= Url.Action("Find", "Org") %>', {
        minChars: 3,
        maxItemsToShow: 25
    }).result(function(evt, data, formatted) {
        var url = '<%= Url.Action("List", "Org") %>/';
        window.location.href = url + data;
    });
});

幾點建議:

如果您使用Url.Action("Find", "Org", new { id = "" })什么?

或者,嘗試使用Url.Content("~/Find/Org")手動構建URL。

您可以“欺騙”並訪問“路由詞典”中的“控制器”和“操作”條目。 這樣就可以只構造你需要的url部分了。 唯一需要注意的是,如果更改路由模型,這些例程可能會變得不正確。

暫無
暫無

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

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