我在视图模型上有一个只读属性,它计算来自各种其他属性的值。我不希望它被帖子上的模型绑定器读取,因为并非所有源属性都可用。
public class MyView
{
public int MyReadOnlyProperty
{
get
{
int result;
//do stuff
return result;
}
}
}
我[Bind(Exclude)]
在控制器方法中添加了一个属性,如下所示:
[HttpPost]
public ActionResult Create([Bind(Exclude = "MyReadOnlyProperty")]MyView viewModel)
{
}
但是,活页夹仍会读取排除的属性。所以当我回发到上面的控制器方法时,MyReadOnlyProperty
getter 会被执行;但在调用控制器方法之前。活页夹正在读取帖子上的属性似乎很奇怪:我希望它只是使用表单值设置它们。
谁能告诉我如何避免这种情况?