【问题标题】:Form submit does not submit partial views表单提交不提交部分视图
【发布时间】:2010-12-21 20:03:50
【问题描述】:

我的主页看起来像:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %> 
    <% 
     using (Html.BeginForm("Submit", "Customer", FormMethod.Get))
    { %>
     <%Html.RenderPartial("Attributes", "Shared");%> 
     <%=Html.TextBox("Name") %> 
     <%=Html.TextBox("Area") %>
     <%= Html.SubmitButton("Submit", "Click Submit")%>
<% } %>

对应的控制器长这样:

public ActionResult Submit(FormCollection collection)
{

//Form collection is null. 

}

Get 请求 URL 不包含 PartialView 字段。它包含主页字段。如何确保部分视图也被提交?

另外,为什么 FormCollection 为空?

更新:

局部视图如下:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

<%@ Import Namespace="Cenovus.EquipList.Web" %>

<select id="Attribute1"><option value="-1"> Default</option>

</select>

<select id="Attribute2"><option value="-1"> Default</option>

</select>

【问题讨论】:

  • 能否提供部分视图的内容? FormCollection 为 null 的原因是它是表单的集合,而不是表单元素。见msdn.microsoft.com/en-us/library/…
  • 在局部视图中将名称属性分配给选择框并尝试

标签: asp.net-mvc asp.net-mvc-2


【解决方案1】:

您需要在表单元素上使用 name 属性,以使它们显示在您的表单值集合中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-20
    相关资源
    最近更新 更多