我对ASP.Net MVC 2相当陌生,并且了解MVC模式本身.但是我的问题是,坚持使用MVC模式在UI中填充下拉列表的最佳方法是什么.我应该通过控制器吗?
我见过的每一篇文章都介绍了如何使用javascript和jquery来做到这一点.我有一个要在MVC2中重写的测试应用程序,我的下拉菜单与jquery一起使用,基本上是调用WCF数据服务,该服务返回返回填充下拉列表的JSON.在我看来,尽管这绕过了控制器并直接进入模型,因此严格违反了MVC模式.
还是我在这里缺少明显的东西.您的想法或最佳做法将在这里受到欢迎.
谢谢
最佳答案
关于MVC的一大优点是,控制器可以耦合为“ Web服务”或进行排序.意思是,您可以轻松地指定例如“ JsonResult”的返回类型(而不是视图-ActionResult).
MVC框架将为您处理所有序列化.
您可以轻松地从jQuery调用controller action方法并填充下拉列表.
在您的示例中,我将创建一个Json控制器方法,并用一些自定义操作过滤器装饰它(检查它是否为json http获取请求的http标头,等等),从jQuery调用它并绑定到您的下拉列表.