【问题标题】:Using property name and values from main view model in nested view model在嵌套视图模型中使用主视图模型中的属性名称和值
【发布时间】:2017-07-10 06:09:12
【问题描述】:

我有一个如下所示的视图模型。 我也想在嵌套视图模型中使用属性名称/值 - AllowOrgsIsOrgOnly - EditAddressViewModel
如何实现这个目标?

我的主视图是这样的 -

@Html.EditorFor(m=> m.AddressEditor,"AddAddress")

我的主视图模型是这样的——

public class AddressViewModel
{
    public EditAddressViewModel AddressEditor {get; set;}
    public bool AllowOrgs { get;set; }
    public bool IsOrgOnly { get; set; }
}

【问题讨论】:

  • 既然您有视图模型,那么 EditAddressViewModel 应该只包含这些属性,但您可以使用接受 EditorForoverloads 之一传递值 - 例如@Html.EditorFor(m => m.AddressEditor, new { allowOrgs = Model.AllowOrgs })
  • AdditonalViewData 可以即时设置还是需要成为父视图模型中视图包的一部分?
  • 如果AllowOrgs 是模型的一部分,则不需要ViewBag。在模板中,使用bool AllowOrgs = ViewData["allowOrgs"]; 访问它

标签: c# .net asp.net-mvc c#-4.0 asp.net-mvc-5


【解决方案1】:

您是在问如何绑定到 AddressEditor 中的 AllowOrgs 属性?

如果是这样,那么您所要做的就是: @Html.EditorFor(m=> m.AddressEditor.AllowOrgs,"AddAddress")

Razor 会处理剩下的事情。

如果这不是您要问的,请提供更多关于您正在寻找的信息。

【讨论】:

  • 不...这不是我问的。我想利用 AllowOrgs 的值传递给嵌套模型。 AddressEditor 没有 AllowOrgs 属性。
  • EditAddressViewModel 不能继承 AddressViewModel 的任何原因?那么哪个只有 AllowOrgs 和 IsOrgOnly 属性?
猜你喜欢
  • 2017-09-01
  • 2017-04-10
  • 1970-01-01
  • 2011-05-20
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
相关资源
最近更新 更多