【发布时间】:2012-02-03 14:30:46
【问题描述】:
我正在尝试使用带有 ajax 的强类型视图模型的 html.dropDownList 助手。由于项目的性质,我无法发布代码。
这基本上是我在做什么......
- 通过强类型视图模型加载 mvc 视图
- 单击一个按钮,该按钮将 ajax 发布到控制器方法
- 使用 TryUpdateModel 解析视图模型
- 处理请求
- 为 ajax 请求呈现部分视图
根据下面列出的文章,问题在于“ASP.NET MVC 假定如果您正在呈现视图以响应 HTTP POST,并且您正在使用 Html 帮助程序,那么您很可能正在‘重新显示验证失败的表单’。”
我需要在视图模型中将 html.dropDownList 设置为相同的值,而不是“重新显示相同的表单值”。
有没有人知道任何自定义 dropDownList 帮助器或对如何实现这一点有任何想法?
我已经尝试/考虑过的事情
-
根据博客,手动删除 modelstate 项...不起作用 - 没有在视图模型中获取值 - 只是默认为下拉列表中的第一项
李> 考虑过只写一个常规的选择列表……但这很草率而且很麻烦,因为我要在一个循环中渲染多个选择列表
编写我自己的自定义 dropDownList 助手...希望避免重新发明轮子
提前致谢
【问题讨论】:
标签: ajax asp.net-mvc drop-down-menu viewmodel asp.net-mvc-partialview