.Net MVC UserControl - RenderPartial 或 EditorFor
我有一个包含用户控件的视图。用户控件使用以下方式呈现:
<% Html.RenderPartial("GeneralStuff", Model.General, ViewData); %>
我的问题是用户控件可以很好地使用模型中的值呈现,但是当我发布在用户控件中编辑的值时,它们不会映射回来到模型.常规。我知道我可以在 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
感谢您的帮助!
I have a View that contains a usercontrol. The usercontrol is rendered using:
<% Html.RenderPartial("GeneralStuff", Model.General, ViewData); %>
My problem is that the usercontrol renders nicely with values from the model but when I post values edited in the usercontrol they are not mapped back to Model.General. I know I can find the values in Request.Form but I really thought that MVC would manage to map these values back to the model.
My usercontrol:
<%@ 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>
I'm using .Net MVC 2
Thanks for any help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题解决了!
我的用户控件呈现为:
我的模型如下所示:
我的用户控件放置在 Views->Shared->EditorTemplates 下并命名为“GeneralViewModel.ascx”
Problem solved!
My usercontrol is rendered with:
My model looks like this:
And my usercontrol is placed under Views->Shared->EditorTemplates and named "GeneralViewModel.ascx"