.Net MVC UserControl - RenderPartial或EditorFor

时间:2010-05-04 11:52:38

标签: asp.net-mvc user-controls renderpartial editorfor

我有一个包含usercontrol的View。 usercontrol使用以下方式呈现:

<% Html.RenderPartial("GeneralStuff", Model.General, ViewData); %>

我的问题是 usercontrol与模型中的值很好地呈现,但是当我在用户控件中发布时,它们不会映射回模型。常规。我知道我可以在Request.Form中找到值,但我真的认为MVC会设法将这些值映射回模型。

我的用户控件:

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

<fieldset>        
    <div>
        <%= Html.LabelFor(model => model.Value)%>
        <%= Html.TextBoxFor(model => model.Value)%>            
    </div>
</fieldset>

我正在使用.Net MVC 2

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

问题解决了!

我的usercontrol呈现为:

<%= Html.EditorFor(model => model.General); %>

我的模型看起来像这样:

public class TestEditViewModel
{
    [UIHint("GeneralViewModel")]
    public GeneralViewModel General { get; set; }
}

我的usercontrol位于Views-&gt; Shared-&gt; EditorTemplates下,名为“GeneralViewModel.ascx”