2009-04-09 53 views
0

我希望所有的URL都包含某個參數,而不必將它傳遞給視圖並通過routevalues參數將其添加到ActionLink。我在我的網站中有一個部分,我想跟蹤所有鏈接的「返回參數」。它適用於表單,因爲Html.BeginForm已經將動作設置爲當前的確切網址。是否可以讓Html.ActionLink自動添加URL參數?

所以,如果我在頁面

/MyController/MyAction/300?ReturnTo=100 

和I輸出

Html.ActionLink("Next Screen", "MyOtherAction") 

我想看到

<a href="/MyController/MyOtherAction/300?ReturnTo=100">Next Screen</a> 

無需做

Html.ActionLink("Next Screen", "MyOtherAction", new {ReturnTo = Model.ReturnTo}) 

回答

2

您可以通過調用Html.ActionLink並組合查詢字符串來編寫自己的HtmlHelper擴展。使用ViewContext獲取當前的查詢字符串。

+0

聽起來不錯。它是否會打破你作爲打破mvc約定訪問視圖助手中的HttpContext.Current.Request? – JeremyWeir 2009-04-09 08:56:42

+0

你完全不需要。它可以通過幫助參數獲得。 – 2009-04-09 12:13:43

1

試試這個:

Html.ActionLink("Next Screen", "MyOtherAction", new {Model.ReturnTo}) 

該鏈接將顯示您希望它是的方式。

相關問題