码迷,mamicode.com
首页 > Web开发 > 详细

mvc中下拉框如何绑定枚举值

时间:2015-04-28 22:51:46      阅读:307      评论:0      收藏:0      [点我收藏+]

标签:下拉框数据绑定

        一般的BS程序开发中,习惯了使用asp.net控件在后台直接绑定数据,可是最近遇到了一个问题,在mvc中,如何在前台绑定后台数据呢?

       以前,我们都是直接在前台页面列举数据如下:

<SOA:HBDropDownList ID="ddlReadState" runat="server" Width="200px">
      <asp:ListItem Text="请选择" Value="-1"></asp:ListItem>
      <asp:ListItem Text="已完成" Value="1"></asp:ListItem>
      <asp:ListItem Text="未完成,已知晓" Value="0"></asp:ListItem>
</SOA:HBDropDownList>
        或者直接在后台使用下拉框控件ID绑定数据源。

this.ddlReadState.DataSource = List<State>;
        可是在mvc中,controller中是不能直接使用控件ID来进行数据绑定的,只能在前台进行数据绑定。那怎么实现数据更新呢?

model代码:

public class SignQuoteFormViewModel : WfDataViewModelBase<SignQuoteForm>
    {
        public string ReadState { get; set; }
        public string ReadRemark { get; set; }
        
        public  List<SelectListItem> GetSelectList()
       {
               List<SelectListItem> list = new List<SelectListItem>
               {
                   new SelectListItem{Text="请选择",Value="-1"},
                   new SelectListItem{Text="已完成",Value="0"},
                   new SelectListItem{Text = "未完成,请知晓",Value ="1"}
               };
               return list;
       }
    }

    public enum selectListStatus
    {
        /// <summary>
        /// 已完成
        /// </summary>
        [EnumItemDescription("已完成")]
        NoFinish = 0,

        /// <summary>
        ///未完成
        /// </summary>
        [EnumItemDescription("未完成")]
        Finished = 1
    }
前台数据绑定:

<div style="padding:15px;border-radius:0;" class="panel-body">
                @Html.ViewComponent().DropDownList(Html, m => m.ReadState, Model.GetSelectList(), new { @class = "form-control" })
            </div>
效果图如下:

技术分享




mvc中下拉框如何绑定枚举值

标签:下拉框数据绑定

原文地址:http://blog.csdn.net/u010942465/article/details/45341543

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!