ViewModel中对象的绑定属性

时间:2018-02-20 09:39:27

标签: c# asp.net-mvc

我们说我有这个模型:

public class Person
{
    public string forename { get; set; }
    public string surname { get; set; }
    public string randomValue { get; set; }
}

和这个ViewModel:

public class PersonViewModel
{
    public Person person { get; set; }
    public bool viewSpecificOption { get; set;}
}

然后这个控制器:

public ActionResult Create([Bind(Include = "person, viewSpecificOption")] PersonViewModel viewModel)
{
    //some code here...
}

你可以看到我绑定了' Person',但是如果我不想包含' Person.randomValue'

我知道我可以替换“人物”。在viewModel中有一个forename和surname字符串,但我必须手动将其转换为实际的Person。

关于如何实现这一目标的任何建议都是一种安全可靠的方式?

1 个答案:

答案 0 :(得分:0)

感谢@StephenMuecke在他们的评论中链接的文章。我很满意采用不使用bind的方法,只使用特定的ViewModels。

但是如果有人遇到这个问题并且有更好的方法可以避免将ViewModel映射到实际模型,请告诉我。