MVC 中将枚举类型绑定到下拉列表
2010-07-21 11:04
260 查看
一、创建一个如下的扩展方法 :
public
static
SelectList ToSelectList
<
TEnum
>
(
this
TEnum enumObj)
{
var values
=
from TEnum e
in
Enum.GetValues(
typeof
(TEnum))
select
new
{ ID
=
e, Name
=
e.ToString() };
return
new
SelectList(values,
"
Id
"
,
"
Name
"
, enumObj);
}
二、控制器里代码如下(其中POStatus是枚
举类型):
public
virtual
ActionResult Edit(Guid
?
Id)
{
var item
=
_Purchase_BLL.Get(Id);
ViewData[
"
status
"
]
=
((POStatus)item.Status).ToSelectList();
return
View(item);
}
三、前台代码如下所示:
<
th
width
="15%"
align
="right"
>
<%
: Html.LabelFor(model
=>
model.Status)
%>
</
th
>
<
td
width
="35%"
>
<%
: Html.DropDownListFor(model
=>
model.Status, ViewData[
"
status
"
]
as
SelectList
)
%>
<%
: Html.ValidationMessageFor(model
=>
model.Status)
%>
</
td
>
public
static
SelectList ToSelectList
<
TEnum
>
(
this
TEnum enumObj)
{
var values
=
from TEnum e
in
Enum.GetValues(
typeof
(TEnum))
select
new
{ ID
=
e, Name
=
e.ToString() };
return
new
SelectList(values,
"
Id
"
,
"
Name
"
, enumObj);
}
二、控制器里代码如下(其中POStatus是枚
举类型):
public
virtual
ActionResult Edit(Guid
?
Id)
{
var item
=
_Purchase_BLL.Get(Id);
ViewData[
"
status
"
]
=
((POStatus)item.Status).ToSelectList();
return
View(item);
}
三、前台代码如下所示:
<
th
width
="15%"
align
="right"
>
<%
: Html.LabelFor(model
=>
model.Status)
%>
</
th
>
<
td
width
="35%"
>
<%
: Html.DropDownListFor(model
=>
model.Status, ViewData[
"
status
"
]
as
SelectList
)
%>
<%
: Html.ValidationMessageFor(model
=>
model.Status)
%>
</
td
>
相关文章推荐
- MVC中将枚举类型绑定到下拉列表
- MVC中将枚举类型数据应用到下拉列表中的方法
- 枚举类型绑定下拉列表
- asp.net中将枚举绑定到下拉列表
- MVC中下拉列表绑定方法
- mvc 下拉列表 DropDownList 两种绑定方式
- net core 使用tagHelper将 enum枚举类型转换为下拉列表select
- 下拉列表绑定枚举
- 将一个枚举类型动态绑定到一个列表控件的方法
- asp.net MVC 中枚举创建下拉列表?
- 将枚举的键值绑定到下拉列表框
- MVC 绑定下拉列表
- asp.net MVC几种绑定下拉列表的写法
- C#枚举类型绑定下拉列表框
- 利用发射 下拉列表绑定枚举
- DropDownList 绑定数据库中的字段获取下拉列表值
- 下拉列表无级数据绑定
- c# 用枚举绑定列表控件
- .net mvc DropDownListFor下拉列表使用(验证)方法
- js控制select下拉列表数据绑定