我正在尝试使用asp.net mvc进行一个新项目,我遇到了一些奇怪的事情.当我为文本框使用MVC UI助手时,值会在调用之间保持不变.但是,当我使用一系列单选按钮时,检查状态不会持续存在.
以下是我看来的一个例子.
当表单被发回时,我构建了一个"ProviderType"作为其中一个属性的对象.对象的值已设置,然后我将RedirectToAction与提供程序一起作为参数.一切都很好,我最终得到一个URL,如" http:// localhost/Provider/List?ProviderType = 1 ",显示ProviderType.该值将持久保存到URL,但UI帮助程序未获取已检查状态.
我遇到了listbox,dropdownlist和radiobutton 这个问题.文本框可以很好地获取值.你看到我做错了吗?我假设帮助者会为我做这件事,但也许我只需要自己照顾这个.我只是感觉自己的方式,所以你的意见是赞赏的.
编辑:我刚刚找到了SelectList构造函数的覆盖,它取一个选定的值.这照顾了我上面提到的下拉问题.
编辑#2:我发现了一些有效的东西,但这样做让我很难受.我觉得应该推断出来.
希望有人能想出另一种方式.
如果给单选按钮的名称与模型上的属性相同,则MVC将自动在相应的按钮上设置checked属性.
我认为这依赖于强类型模型.