MVC中将枚举类型绑定到下拉列表

一、创建一个如下的扩展方法 :

复制代码
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>
复制代码



 

posted @   轩辕法王  阅读(1259)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示