是什麼形式ASP.NET/MVC結合所定義的行爲,如果你張貼的形式和它的行動具有查詢參數和你有表格數據?模型查詢字符串和表單POST上綁定參數
例如:
<form action="my/action?foo=1" method="post">
<input type="hidden" name="bar" value="2">
</form>
如果這樣的表單提交應該控制器同時獲得foo
和bar
或只是其中之一?
是什麼形式ASP.NET/MVC結合所定義的行爲,如果你張貼的形式和它的行動具有查詢參數和你有表格數據?模型查詢字符串和表單POST上綁定參數
例如:
<form action="my/action?foo=1" method="post">
<input type="hidden" name="bar" value="2">
</form>
如果這樣的表單提交應該控制器同時獲得foo
和bar
或只是其中之一?
控制器將得到兩個值。默認的模型聯編程序將嘗試從URI(查詢字符串或路由參數)或主體(以及表單數據支持開箱即用)中查找匹配參數。
我認爲它應該能夠得到兩者。在這種情況下,我會創建一個ViewModel,它包含兩個字符串或int屬性,一個名爲'foo',另一個名爲'bar',並讓您的ActionResult接受ViewModel。您應該看到這兩個值進來
注意,你可以看到這是由Html.BeginForm輔助支持,您可以通過routeValues這樣做:
@Html.BeginForm("ActionName", "ControllerName", new { foo = "1" })
它在本質上產生相同的HTML作爲您的表單標籤,但希望發佈給那些發現此問題的人,並且想知道如何使用BeginForm助手傳遞不屬於表單的附加值。