【发布时间】:2011-08-03 00:32:54
【问题描述】:
我有一个名为 ActionStatus 的枚举,它有 2 个可能的值 open=0 和 closed = 1
public enum ActionStatus
{
Open,
Closed
}
我想在我的编辑中构建单选按钮组并创建使用枚举来填充单选按钮的视图,其中 a) 创建视图中的默认值和 b) 编辑视图中当前选择的选项。
我需要一个扩展方法吗?有人已经创建了吗?
编辑:在下面达林斯的回答之后,这是我的模型课
namespace Actioner.Models
{
[MetadataType(typeof(MeetingActionValidation))]
public class MeetingAction
{
[Key]
public int MeetingActionId { get; set; }
[Required]
[Display(Name = "Description")]
public string Description { get; set; }
[Required]
[Display(Name = "Review Date")]
public DateTime ReviewDate { get ;set; }
public int Status{ get; set; }
[ScaffoldColumn(false)]
public int MeetingId { get; set; }
//public virtual Meeting Meeting { get; set; }
//public virtual ICollection<User> Users { get; set; }
public virtual ICollection<ActionUpdate> ActionUpdates { get; set; }
public MeetingActionStatus ActionStatus { get; set; }
}
public enum MeetingActionStatus
{
Open,
Closed
}
这是我的观点
@model Actioner.Models.MeetingAction
@using Actioner.Helpers
<div class="editor-label">
@Html.LabelFor(model => model.Description)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ReviewDate)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ReviewDate)
@Html.ValidationMessageFor(model => model.ReviewDate)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Status)
</div>
<div class="editor-field">
@Html.RadioButtonForEnum(x => x.ActionStatus)
</div>
这是我的创建控制器操作
public virtual ActionResult Create(int id)
{
var meetingAction = new MeetingAction
{
MeetingId = id,
ReviewDate = DateTime.Now.AddDays(7)
};
ViewBag.Title = "Create Action";
return View(meetingAction);
}
枚举在视图中显示正常,但当前选择的选项没有持久化到数据库中
【问题讨论】:
-
有没有办法从资源文件中检索打开和关闭值?例如:[Display(Name = "Open", ResourceType = typeof(Resources.Global), Order = 0)] 打开。
标签: asp.net-mvc asp.net-mvc-3 enums