Html.DropDownList()的用法 ( Asp.Net MVC)

--------------------自己是这么写的------------------------
       页面代码如下:

             <% ViewData["ddlLinesPriceType"] = 1;//默认 %>
             <%= Html.DropDownList("ddlLinesPriceType", ViewData["LinesPriceType"] as SelectList, new { @onchange = "priceTypeSelect(this)" })%>

--------------------下面是转的------------------------

Html.DropDownList()赋默认值:

页面代码如下:

  <%
                List<SelectListItem> list = new List<SelectListItem> {

                new SelectListItem { Text = "启用", Value = "0",Selected = true},

                new SelectListItem { Text = "禁用", Value = "1" } };
  %>//list储存dropdownlist的默认值
<%=Html.DropDownList("state",list,Model.state) %>  //state为实体的属性,默认选中"启用"

Html.DropDownList()从数据库读取值:

页面代码如下:

<%= Html.DropDownList("Category", ViewData["Categories"] as SelectList,"--请选择--",new { @class = "my-select-css-class" } )%>

Controllers代码:

public ActionResult Create()

{
        List<Category> categories = categoryService.GetAll();
        ViewData["Categories"] = new SelectList(categories, "Id", "Name");
        return View();
}

  • 原型一:

public static string DropDownList(thisHtmlHelper htmlHelper, string name)

{

     IEnumerable<SelectListItem> selectData = htmlHelper.GetSelectData(name);

     return htmlHelper.SelectInternal(null, name, selectData,true, false, null);

}

第一种方式:
List
<SelectListItem> items = new List<SelectListItem>();

items.Add(new SelectListItem() { Text = "001", Value ="1", Selected = false });

items.Add(new SelectListItem() {Text = "002", Value ="2", Selected = false });

ViewData["items"] = items;

简化后:

var items = new List<SelectListItem>()

{

    (new SelectListItem() {Text ="001", Value = "1", Selected =false}),

    (new SelectListItem() {Text ="002", Value = "2", Selected =false})

};

将items值给ViewData:

ViewData["items"] = items;

在aspx中这样使用:

<%= Html.DropDownList("items") %>

生成的代码中,items将作为<select>标签的name和id值。

  • 原型二:
public static string DropDownList(this HtmlHelper htmlHelper, string name, IEnumerable<SelectListItem> selectList)
{
    return htmlHelper.DropDownList(name, selectList, null);
}
使用方法:

<%= Html.DropDownList("items", new List<SelectListItem>
{
    (new SelectListItem() {Text = "001", Value = "1", Selected = false}),
    (new SelectListItem() {Text = "002", Value = "2", Selected = false})
})%>

在这里,不需要ViewData传入值,第一个参数items作为标签的name和id的值。items也可以是任意的字符串。

  • 原型三
public static string DropDownList(this HtmlHelper htmlHelper, string name, string optionLabel)
{
    IEnumerable<SelectListItem> selectData = htmlHelper.GetSelectData(name);
    return htmlHelper.SelectInternal(optionLabel, name, selectData, true, false, null);
}

使用方法和第一种原型相同,string optionLabel作为一个缺省的空的选项。这样可以完成加入不需要选取任何选项的场景。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值