我的網頁上有2種形式,它們都包括在母版,像這樣:mvc.net多種形式childaction
Html.RenderAction("Form1", "Controller")
和
Html.RenderAction("Form2", "Controller")
該控制器具有如下:
<ChildActionOnly()>
Function Form1() As ActionResult
Return View("Form1", New ModelObject())
End Function
<ChildActionOnly()> <AcceptVerbs(HttpVerbs.Post)>
Function Form1(ByVal formCollection As FormCollection) As ActionResult
Return View("Form1", New ModelObject())
End Function
<ChildActionOnly()>
Function Form2() As ActionResult
Return View("Form2", New ModelObject())
End Function
<ChildActionOnly()> <AcceptVerbs(HttpVerbs.Post)>
Function Form2(ByVal formCollection As FormCollection) As ActionResult
Return View("Form2", New ModelObject())
End Function
ascx中的表格標記如下,它們本質上是相同的形式,因此標記非常相似:
<% Using Html.BeginForm()%>
<%= Html.TextBoxFor(Function(model) model.Property1, New With {.class = "input"})%>
<input type="submit" class="submitbutton" value="" name="submit" />
<% End Using%>
問題是,當我提交任一表單時,它將運行這兩種post方法。
因此,Form1的帖子和Form2的帖子,但表單集合中的值是從哪個表單提交的。
我的問題是: 這是爲什麼這兩個表單提交一組表單數據? 如何才能使用正確的表單數據僅調用相關操作?
我確定我犯了一個簡單的錯誤,就是看不到它。演示該問題
項目可以在這裏找到:提前TestMVC.zip
感謝。
我已經添加了一個測試項目,在c#中演示了這個問題。 – jimplode 2010-10-01 10:48:46
有甚至有另一種方法來實現相同的事情?如果對象恰好無效,則保留後期數據。 – jimplode 2010-10-01 11:28:51