1
我有一個回發動作控制器:參數傳遞給控制器動作
[HttpPost]
public ActionResult test(string x) { ... }
,我想添加一個GET操作具有相同簽名:
public ActionResult test(string y) { ... }
但是編譯器pukes:
Type 'TestController' already defines a member called 'test' with
the same parameter types
所以我想改簽名:
public ActionResult test(RouteValueDictionary args) { ... }
並調用它是這樣的:
@{
RouteValueDictionary args = new RouteValueDictionary(
new { y = "test" }
);
}
@Html.Action("test", "TestController", args)
但所述控制器接收args
爲空。顯然我不明白這應該如何工作。我知道我可以重命名該動作,但我想知道如何聲明它,以便我的字典能夠通過。
TIA - 電子
我更喜歡在帖子模型中添加一個FormCollection參數,如果它們是完全相同的簽名,以便我不必擔心將來可能會改變的魔術字符串:) – Buildstarted
@BuildStarted放棄由於該字符串的模型綁定似乎是一個特殊的選擇,因爲動作名稱已被指定爲字符串遍佈整個地方:在視圖,重定向,路由等等中。 – Jay
不,我不會放棄它 - 我只是*添加* FormCollection的參數,使簽名不同:) – Buildstarted