3

我有一个包含用户控件的视图。用户控件使用以下方式呈现:

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

我的问题是usercontrol 可以很好地使用模型中的值呈现,但是当我发布在 usercontrol 中编辑的值时,它们不会映射回 Model.General。我知道我可以在 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

谢谢你的帮助!

4

1 回答 1

2

问题解决了!

我的用户控件呈现为:

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

我的模型如下所示:

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

我的用户控件放在 Views->Shared->EditorTemplates 下并命名为“GeneralViewModel.ascx”

于 2010-05-05T12:05:09.653 回答