如何在MVC4中将EditorFor更改为DropdownFor?

时间:2012-07-23 17:14:33

标签: asp.net-mvc asp.net-mvc-4 webforms

我有一个控制器,模型和视图,我正在尝试将已经存在的@ html.editoFor设置为@html.dropdownfor,因此我可以限制用户只选择三个可能的值(Open,Close,Onhold)。

更具体地说,我想在控制器的“创建和编辑”操作中将editorFor创建的输入框更改为选择框(如果可能)。

如果那是不可能的,那么我想知道如何为模型提供三个默认值来接受,这样只有那些值可以提交给DB ......

1 个答案:

答案 0 :(得分:1)

您可以轻松更改EditorFor,但不幸的是它基于属性的类型,因此如果您的模型中有string,并且您更改了EditorFor,那么您将更改所有字符串你使用EditorFor。

如果您创建一个包含该值的自定义对象,可能还有三个可能的值,则可以轻松为此创建自定义EditorFor。

看看这里: http://buildstarted.com/2010/09/10/overriding-displayfor-and-editorfor-to-create-custom-outputs-for-mvc/

(这是针对版本3的,但是我还没有读过任何版本4已经更改的内容,所以请试一试)