ASP.NET MVC中用于实现复杂表单的好方法是什么,其中表单的各个部分根据用户的输入显示和隐藏?
我的背景是Webforms.我经常被要求构建表单,用户从下拉列表中选择一个选项,触发一些新字段出现.不同的选择可能会导致出现一组不同的字段.
在过去,我会通过我想要显示或隐藏的字段UpdatePanel的包装器Panel来处理这种情况.隐藏字段时会自动禁用验证.
展望未来,我想利用MVC的基于属性的模型验证,但是可以使验证以其他属性的值为条件吗?
另外,如何处理表单字段块的切换?我知道如何在jQuery中手动完成它,但我希望有一种方法与验证和服务器端代码相关联.
我总体上更喜欢MVC,但我还没弄清楚如何很好地处理这种情况.可能我只需要改变我的想法以更好地适应MVC方法.
乔什,
我建议的第一件事是确保对模式复杂的页面使用 ViewModel。ViewModel 基本上是为特定视图创建的模型;例如,ViewModel 可以是其他类的组合。
至于动态更改视图上的字段,最好的方法是使用 jQuery(或任何其他 javascript 库)来实现。
我还从 Web 表单环境迁移,我知道一开始很难改变,但相信我,做一个简单的 jQuery 甚至处理程序比必须放置一个控制面板然后放置事件处理程序要简单得多。
更不用说效率要高得多;毕竟,更新面板会向页面发布部分内容,有时,使用 jQuery,您甚至不需要这样做。
在使用 MVC 完成几个项目之后,我实际上发现在 Web 表单上执行更新面板非常耗时;)
希望这有帮助,-Covo
| 归档时间: |
|
| 查看次数: |
2800 次 |
| 最近记录: |