标签:下拉框数据绑定
一般的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>
效果图如下:
标签:下拉框数据绑定
原文地址:http://blog.csdn.net/u010942465/article/details/45341543