自定义模型活页夹可以双向工作吗
本文关键字:工作 模型 自定义 | 更新日期: 2023-09-27 18:28:10
我一直在研究自定义模型绑定,作为全局截取和修改视图模型上特定字符串属性的一种方式。
我可以覆盖SetProperty并操作正在发布的值,但反过来呢?
例如,我可能想修剪()模型中的所有字符串,这可能与模型绑定器有关吗?或者我遗漏了什么?我已经考虑过重写GetPropertyValue,但在加载视图时似乎不会触发它。
任何建议都将不胜感激。
否,模型绑定器只能在一个方向上工作。
您可以创建自己的ActionResult实例,例如通过扩展ViewResult或PartialViewResult。
或者,您可以实现ActionFilterAttribute来修剪字符串。
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var model = filterContext.Controller.ViewData.Model;
...
}
或者你可以做蛮力
public class MyModel
{
private string _myProp
public string MyProp
{
set { _myProp = value.Trim(); }
get { return _myProp; }
}
}
但是您不能使用模型绑定器将模型从控制器绑定到视图。