我有一组包含输入元素的HTML页面。我正在将它们转换为MVC Views
。阅读表格发表数据与强类型查看
考虑性能&的代码的整洁。什么是进行正确的方法,
处理形式发布的FormCollection,或
创建强类型视图从模型中获得的输入值。
我有一组包含输入元素的HTML页面。我正在将它们转换为MVC Views
。阅读表格发表数据与强类型查看
考虑性能&的代码的整洁。什么是进行正确的方法,
处理形式发布的FormCollection,或
创建强类型视图从模型中获得的输入值。
可以使用TextBoxFor的重载设置/覆盖输入元素的属性:
优势@Html.TextBoxFor(m => m.Name, new { @Value = "0", readonly="readonly" @class="cssClass"})
迈克您好,感谢有没有在所有的输入元素转换为相应的MVC项目的任何显著的优势(性能)。为什么不应该使用formCollection进行简单的表单处理? – Abhijeet
如果您只是从Request.Form中检索操作中的值,则MVC将跳过昂贵的反射来将表单元素绑定到模型。但你没有得到很好的模型绑定验证和可测性 –
其实,这是一个很好的question..I不知道是谁投了下去......还有在我看来,太多严格的视图模型的传道者。
在与MVC合作一段时间后,我的观点是,对于非常简单的事情来说,@Html助手很好地工作......但是他们导致了一种思考网页/服务器交互的方式,长期限制它特别是对于更复杂的用途。它可以让你在很大程度上依赖不引人注目的验证,而不必了解验证如何在客户端上运行。这对介绍性程序员来说很好......因为我曾经......但是至少不了解jQuery验证库会最终阻碍你。做任何认真的网络/网络应用程序开发,其中验证比检查是否需要值更复杂,变得更加粗糙。另外,如果你更新它们(我遇到了这个问题),你依靠微软保持它们的验证库与jquery验证库保持同步。
另外,你需要考虑,如果任何前端库使用的是什么,如果其中任何一个不与这些助手的输出(自举一个很明显的一个)很好地工作。这就是说,表单集合更快,更少限制...使用它和纯验证库将更容易和更具表现力......让你写任何你想要的代码。毕竟..如果在服务器端编写if(!String.IsNullorEmpty()),或者除了客户端需要任何类型的验证外,其实很难。
好点....! – Abhijeet
嗨Emre,它帮助感谢。 – Abhijeet