標準ActionLink
會生成類似mysite.com/rar/hello/1/2010-01-01/的內容,如果您希望它使用路由魔術。這對於錨標籤和使用Html.ActionLink
是好的,但是,如果我想要使用GET請求獲得相同效果的表單,該怎麼辦?因此,一個形式看起來像如下:GET請求路由參數
@using(Html.BeginForm("MyAction", "MyController", new { id = 20, something = "2010-01-01" }))
產生一個URL像site.com/20/2010-01-01代替mysite.com?id=20 &東西= 2010-01-01
這可以不使用JavaScript?我的路線是正確的,因爲ActionLink
會生成正確的網址,但使用相同的參數,通過表單的GET請求會生成醜陋的網址。
乾杯
---編輯---
我做了同樣的問題在谷歌搜索,你猜怎麼着?這個答案是第一個。我甚至沒有記得問這個問題。
所以我又遇到了同樣的問題。這很簡單:
我點擊一個鏈接,它會帶我到一個網址,如site.com/10/100/Param
。我有這些相同的路由值的形式,看起來是這樣的:
@using(Html.BeginForm("Action", "Controller", FormMethod.Get)) {
@Html.Hidden("param1", 10)
@Html.Hidden("param2", 110)
@Html.Hidden("param3", "MyOtherParam")
}
然後,當我提出這種形式,我希望看到新的路線爲site.com/10/110/MyOtherParam
代替。
我能想到做到這一點的唯一方法是發佈到操作方法,然後從那裏重定向。
任何想法?
的ActionLink的我不知道這是如何承擔任何意義完全一致?我們在這裏根本不談論正斜槓。上述路線默認情況下完全有效。我正在談論與Global.asax中定義的路由約束匹配的GET請求 – Kezzer 2011-06-10 12:18:16