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

介绍了在ASP.NET MVC RC2中使用自定义方法来设置下拉列表的初始选中值,提供了一种通过重载DropDownList方法实现的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

ContractedBlock.gifExpandedBlockStart.gifCode
/// <summary>
        
/// 生成下拉列表
        
/// </summary>
        
/// <param name="helper"></param>
        
/// <param name="SelectListName">下拉列表的Name值</param>
        
/// <param name="SelectItems">数据源</param>
        
/// <param name="SelectedValue">选中值</param>
        
/// <param name="Attributes">附加属性值,比如onchange="dot.gif"之类</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>();
dot.gif        
ViewData[
"Citys"= _items;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值