在其他情况下,我习惯于"绑定"推断数据到/从对象的双向移动。换句话说,我们可以将数据从一个对象移动到一个html表单序列化'反之,'反序列化'。但是,模型绑定器和值提供程序似乎只负责从http请求填充对象 - 反序列化部分。管道的哪个部分负责从对象获取数据并将其序列化为表单或其他http响应?或者它只是停留在' Html.TextBoxFor'效用
我相信我可以创建一个自定义的InputExtension,但这似乎有点过分 - 默认情况下我需要的大部分内容除了它抓取属性的值时。我也可以创建一个不同的模型,但这也是我试图避免的。
是否有可扩展点,我可以管理从模型到html输入的值提取?
答案 0 :(得分:0)
当我看到这样的问题时,我通常会犹豫不决,因为这个问题可能比乍看之下更多。您的模型可能代表存储在数据库中的内容,这意味着您需要在存储内容和显示内容之间存储转换层。您通常不希望模型按原样显示给用户,因此在MVC框架上开发时通常使用视图模型。
这里最常用的方法是:
有了这些部分,您可以自然地进行模型绑定,而无需进行自定义框架。
AutoMapper等图书馆将是您的朋友。有一点学习曲线,但值得。