zoukankan      html  css  js  c++  java
  • 【转】Asp.net MVC中关于HtmlHelper给DropDownList设置初始选中值的问题

    Asp.Net MVC 中Helper提供的DropDownList好象并不太好用,特别想给下拉框设置初始选中值的时候(可能我还没找到正确的方法)

    小试了一下,有二个简单的解决办法:
    1.回到最原始的asp的办法,直接在view的循环中判断,具体代码就不写了,有过Asp/Php经验的一点就明白

    2.自己再写一个DropDownList的重载版本,如下:


    /// <summary>
    /// 生成下拉列表
    /// </summary>
    /// <param name="helper"></param>
    /// <param name="SelectListName">下拉列表的Name值</param>
    /// <param name="SelectItems">数据源</param>
    /// <param name="SelectedValue">选中值</param>
    /// <param name="Attributes">附加属性值,比如onchange=""之类</param>
    /// <returns></returns>
    public static string DropDownList(this HtmlHelper helper, string SelectListName, IEnumerable<SelectListItem> SelectItems, string SelectedValue, string Attributes)
    {
    StringBuilder sb
    = new StringBuilder();
    sb.Append(
    "<select");

    if (SelectListName.Trim() != "")
    {
    sb.Append(
    " name=\"" + SelectListName + "\"");
    }
    else
    {
    return "";
    }

    if (Attributes.Trim() != "")
    {
    sb.Append(
    " " + Attributes.Trim());
    }


    sb.Append(
    ">");

    foreach (SelectListItem item in SelectItems)
    {
    if (item.Value == SelectedValue)
    {
    sb.Append(
    "<option value=\"" + item.Value + "\" selected=\"selected\">" + item.Text + "</option>");
    }
    else
    {
    sb.Append(
    "<option value=\"" + item.Value + "\">" + item.Text + "</option>");
    }
    }

    sb.Append(
    "</select>");

    return sb.ToString();

    }

    调用代码如下:

    Action部分:

    List<SelectListItem> _items = new List<SelectListItem>();

    ViewData[
    "Citys"] = _items;

    View部分:
    <%=Html.DropDownList("SelName", (IEnumerable<SelectListItem>)ViewData["Citys"],item.CityId.ToString(),"onchange=\"alert('Test')\"") %>

    原文:http://www.cnblogs.com/yjmyzz/archive/2009/03/15/1412507.html

  • 相关阅读:
    Openjudge NOI题库 ch0111/01 查找最近的元素
    Openjudge NOI题库 ch0111/07 和为给定数
    Openjudge NOI题库 ch0111/08 不重复地输出数
    Openjudge NOI题库 ch0111/10 河中跳房子|NOIP2015 day2 stone
    Openjudge NOI题库 ch0111/t1776 木材加工
    SRM 508(2-1000pt)
    SRM 507(2-1000pt)
    SRM 504.5(2-1000pt)
    最小生成树专题总结
    SRM 506(2-1000pt)
  • 原文地址:https://www.cnblogs.com/linyechengwei/p/2045395.html
Copyright © 2011-2022 走看看