【转】Asp.net MVC中关于HtmlHelper给DropDownList设置初始选中值的问题
2011-05-13 12:49
796 查看
Asp.Net MVC 中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">附加属性值,比如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')\"") %>
原文:/article/4607682.html
小试了一下,有二个简单的解决办法:
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">附加属性值,比如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')\"") %>
原文:/article/4607682.html
相关文章推荐
- MVC RC2中关于HtmlHelper给DropDownList设置初始选中值的问题
- 关于.net mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题
- asp.net mvc 关于HtmlHelper的一些
- 关于mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题简单总结
- [ASP.net MVC] 将HTML转成PDF档案,使用iTextSharp套件的XMLWorkerHelper (附上解决显示中文问题)
- [asp.net mvc 奇淫巧技] 03 - 枚举特性扩展解决枚举命名问题和支持HtmlHelper
- 关于mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题简单总结
- asp.net mvc HtmlHelperExt EnumDropDownList
- 关于mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题简单总结
- ASP.NET MVC HtmlHelper =>Html.DropDownList
- Html.DropDownList()的用法 ( Asp.Net MVC)
- 关于asp.net中dropdownlist控件选中后在次回传页面后还原到默认
- ASP.NET MVC HtmlHelper如何扩展
- Html.DropDownList()的用法 ( Asp.Net MVC)
- 艾伟:ASP.NET MVC,深入浅出IModelBinder,在Post方式下慎用HtmlHelper
- ASP.NET中关于上传附件的大小设置问题
- ASP.NET MVC 给ViewBag赋值Html格式字符串的显示问题总结
- Asp.Net MVC使用HtmlHelper渲染,并传递FormCollection参数的陷阱
- ASP.NET MVC HtmlHelper用法大全
- ASP.NET MVC HtmlHelper如何扩展