我的网页上有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