2010-12-21 12 views
1

ich eine Haupt-Seite haben, die wie folgt aussieht:Formular einreichen wirft nicht Teilansichten

<%@ 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")%> 
<% } %> 

Der entsprechende Controller wie folgt aussieht:

public ActionResult Submit(FormCollection collection) 
{ 

//Form collection is null. 

} 

Die Get-Anfrage URL die PartialView Felder nicht enthalten. Es enthält jedoch die Hauptseitenfelder. Wie stelle ich sicher, dass die Teilansichten auch gesendet werden?

Warum ist FormCollection auch null?

UPDATE:

Die Teilansicht wie folgt aussieht:

<%@ 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> 
+0

Können Sie den Inhalt der Teilansicht bereitstellen? Der Grund dafür, dass FormCollection null ist, liegt darin, dass es sich um eine Sammlung von Formularen und nicht um Formularelemente handelt. Siehe http://msdn.microsoft.com/en-us/library/system.windows.forms.formcollection.aspx –

+2

Weisen Sie der ausgewählten Boxex in der Teilansicht ein Namensattribut zu und versuchen Sie es mit – Chandu

+0

Danke. Das hat funktioniert! – WorldIsRound

Antwort

3

Sie müssen den Namen Eigentum auf Ihrem Formularelement verwenden, um sie in Ihrer Sammlung von Formularwerten zu zeigen.