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

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

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

Code
/// <summary>
        /// 生成下拉列表
        /// </summary>
        /// <param name="helper"></param>
        /// <param name="SelectListName">下拉列表的Name值</param>
        /// <param name="SelectItems">数据源</param>
        /// <param name="SelectedValue">选中值</param>
        /// <param name="Attributes">附加属性值,比如οnchange=""之类</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(),"οnchange=\"alert('Test')\"") %>

转载于:https://www.cnblogs.com/yjmyzz/archive/2009/03/15/1412507.html

MVC RC2中关于HtmlHelper给DropDownList设置初始选中值的问题相关推荐

  1. html中select标签默认选择,HTML中的select标签如何设置默认选中的选项

    方法有两种. 第一种通过的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果. 1 2 3 4 5 1 option > 2 option > 3 option &g ...

  2. vue 复选框默认选中_vue 实现单选框设置默认选中值

    vue 实现单选框设置默认选中值 vue中单选框的默认选中不同于传统方式设置checked,是通过在data中设置vulue来实现的 html部分是通过v-for取的后台的数据 生成后的代码就是 js ...

  3. vue中单选框设置默认选中值

    vue中单选框的默认选中不同于传统方式设置checked,是通过在data中设置vulue来实现的 html部分是通过v-for取的后台的数据 <li v-for="(value,i) ...

  4. php导航默认选中,html中关于select标签如何设置默认选中的选项详解

    方法有两种. 第一种通过的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果.< select id = "sel" > < option ...

  5. js、jquery操作复选框checkbox总结(单个/多个获取选中值、初始化设置默认选中值、全选反选)

    一.单个复选框 使用label标签可以点击文字就能选中复选框或者是取消选择复选框 label标签的两种使用方法:   https://blog.csdn.net/qq_40015157/article ...

  6. 前端radio单选框默认选中_「radio选中」单选框radio总结(获取值、设置默认选中值、样式) - seo实验室...

    radio选中 单选框 radio 是 否 1.获取值 $("input[name='killOrder']:checked").val(); $('input:radio:che ...

  7. antd radio设置默认选中_单选框radio总结(获取值、设置默认选中值、样式)

    单选框 radio 是 否 1.获取值 $("input[name='killOrder']:checked").val(); $('input:radio:checked').v ...

  8. js原生、jquery单选框radio总结(获取值、设置默认选中值、样式)

    单选框 radio总结: 一.页面样式截图: <div class="radio-inline"><input type="radio" na ...

  9. 前端radio单选框默认选中_单选框radio总结(获取值、设置默认选中值、样式)...

    是 否 1.获取值 $("input[name='killOrder']:checked").val(); $('input:radio:checked').val(): $(&q ...

最新文章

  1. 【lidar】3D目标检测PointPillars:论文解读、代码解读、部署实现(2)
  2. webstorm代码行数统计_10万行代码10万年薪,利用python查看自己写了多少代码
  3. 通过结构体某个成员的地址计算结构体首地址 (转)
  4. Java初阶知识总结
  5. 数据工程师在未来将扮演不可或缺的角色
  6. 2012年度最新免费web开发设计资源荟萃
  7. tyvj1194 划分大理石
  8. VueCli4学习笔记
  9. 华为是怎样研发的(12)——FMEA分析
  10. ed2k链接文件,最快下载方式
  11. 告警关联中的频繁项集挖掘问题
  12. (安卓免费抓包软件)安卓7以上版本微信内部无法抓包的完美解决方案
  13. 初等函数的麦克劳林级数展开+逆函数的展开求法
  14. Imperva常用的维护命令
  15. 这个社会最大的现实是“大鱼吃小鱼,小鱼吃虾米”
  16. 玻色量子CEO文凯博士出席GTIC 2022全球AI芯片峰会,解读光量子计算新进展
  17. 建议118:使用SecureString保存密钥等机密字符串
  18. Linux Shell 使用手记
  19. 杜洋STM32入门100步入门的10条金标准
  20. HTC将Viveport推向全球,这是要“反击”Valve的节奏?

热门文章

  1. 成吉思汗:“世界之鞭”还是“人类之王”?
  2. c语言数字储存于变量,用C语言写中文数字字符串转数值变量
  3. mybatis 连接池_应用框架之Mybatis数据源和连接池
  4. 重庆大学计算机组成,重庆大学计算机组成原理试题集(含部分答案)
  5. 前端 重构时需要注意的事项_前端数据层落地实践
  6. 入门 | 初学者必读:解读14个深度学习关键词
  7. 亚伦•斯沃茨:提升时间的品质
  8. 记号一次更换IBM X3650M4主板后RAID无法启动的解决
  9. 《深入理解Spark-核心思想与源码分析》(四)第四章存储体系
  10. 剑指offer(65)矩阵中的路径