绑定排除不适用于子对象

时间:2015-03-26 10:49:30

标签: asp.net-mvc

我遇到与此问题相同的问题并尝试了建议的解决方案,但没有运气..任何帮助将非常感激。 Bind Exclude not working Model Binding for child objects in ASP.Net MVC

问题如下: 我在Asp.Net MVC的模型绑定中遇到了一个问题。我有以下视图模型,

public class ArticleViewModel : BaseViewModel
    {        
        public Article art { get; set; }
        public List<ArticleAttachment> attachments { get; set; }
    }

我正在尝试排除模型绑定属性&#34;文章&#34;在我的动作方法中如下所示的子对象,

[HttpPost]
[ValidateInput(false)]
public ActionResult New([Bind(Exclude = "art.Abstract")]ArticleViewModel articleVM)
 {

但是模型绑定器使用上面的设置填充了名为Abstract的属性。

1 个答案:

答案 0 :(得分:1)

要完成这项工作,您需要将[Bind]属性应用于ArticleAttachment类。

[Bind(Exclude="Abstract")]
public class ArticleAttachment
{
  public string Abstract { get; set; }
  ....
}

但是,只要您使用[Bind(Include="..")][Bind(Exclude="..")]属性,请删除它们并使用视图模型正确执行以表示您要编辑的内容。