2012-09-18 59 views
0

我很困惑什麼似乎是一個很奇怪的問題。@ Html.ActionLink()產生意想不到的結果

在我的剃鬚刀的標記,我有:

@Html.ActionLink("World", "Browse", "Destination") 

但產生的HTML是:

<a href="/Destination/Browse/1/africa-middle-east">World</a> 

需要注意的是,附加數據是,事實上,我使用的有效數據其他鏈接。但爲什麼它出現在這裏呢?我甚至可以通過在調試器中檢查第一行生成第二行。

我知道我在這裏做的事情非常愚蠢。我只是看不到它是什麼。

+1

它來自現有的路線數據。 –

回答

1

我想,它正在建立一個標籤的舊路線值。檢查this文章的相似的情況。

使用this過載,並試圖明確地傳遞null作爲RouteValues,看看有什麼變化帶來

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper, 
    string linkText, 
    string actionName, 
    RouteValueDictionary routeValues 
) 

所以,你的代碼可以改寫爲

@Html.ActionLink("World", "Browse", "Destination",null) 

或者你可以嘗試使用此版本也

<a href="Url.Action("Browser", "Destination")">World</a> 
+1

是的,它是路線數據。看起來像實現這個的開發者在其他地方使用'@ Html.ActionLink(「World」,「Browse」,「Destination」,new {id =「」},null)''''''謝謝。 –

相關問題