有没有一种优雅的方式来添加一个空的选项绑定到与LinqDataSource的DropDownList?DropDownList与LinqDataSource和一个空的选项
6
A
回答
9
以下是如何在列表顶部添加值的方法。它可以是一个空字符串或一些文本。
<asp:DropDownList ID="categories" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataSourceID="categoriesDataSource" DataTextField="CategoryName" DataValueField="CategoryID" EnableViewState="False">
<asp:ListItem Value="-1">
-- Choose a Category --
</asp:ListItem>
</asp:DropDownList>
一定要设置DropDownList的AppendDataBoundItems = True。
0
我提供IEnumerable<string>
扩展方法,追加的项目列表的开头:
public static IEnumerable<string> Prepend(this IEnumerable<string> data, string item)
{
return new string[] { item == null ? string.Empty : item }.Union(data);
}
及其分类LINQ-Y的,因为它使用LINQ扩展方法联盟。它干净了一点比这样做:
var result = new string[]{string.Empty}.Union(from x in data select x.ToString());
1
标记:
<asp:DropDownList ID="ddlQualQuestion" runat="server" DataSourceID="sdsQualQuestion" DataTextField="ShortQuestionText" DataValueField="QualificationQuestionKey" AutoPostBack="true" OnSelectedIndexChanged="ddlQualQuestion_SelectedIndexChanged" OnDataBound="ddlQualQuestion_DataBound" />;
后面的代码:
protected void ddlQualQuestion_DataBound(object sender, EventArgs e)
{
ddlQualQuestion.Items.Insert(0, new ListItem("", "0"));
}
1
以DOK提供的解决方案:
<asp:DropDownList ID="categories" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataSourceID="categoriesDataSource" DataTextField="CategoryName" DataValueField="CategoryID" EnableViewState="False">
<asp:ListItem Value="-1">
-- Choose a Category --
</asp:ListItem>
</asp:DropDownList>
Addtionally,如果你不想强制用户做一个选择,你可以添加一个方法来你的GridView的使用LinqDataSource:
OnSelecting="myGridview_Selecting"
添加代码的背后是这样的:
protected void myGridview_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
if (categories.SelectedValue == "-1")
{
e.WhereParameters.Remove("CategoryID");
}
}
相关问题
- 1. DropdownList与多选择选项?
- 2. 另一个DropDownList选择项目问题
- 3. databound dropdownlist选择一个项目
- 4. Dropdownlist中的第一项空白
- 5. 第一项dropdownlist项目不可选asp.net
- 6. Dropdownlist一行包含两个可选择的选项
- 7. 使用第一个选项中的选项填充第二个DropDownList
- 8. DropDownList项未选中
- 9. DropDownList - 回发项目为空
- 10. 只显示LinqDataSource的一些项目
- 11. 在DataList控件中填充一个DropDownList与另一个DropDownList
- 12. WHERE与DropDownList的选定值
- 13. ASP.NET DropDownList - GetSelectedIndices缺少一个选定的项目
- 14. FSharp选项和空
- 15. Flex 4 DropDownList所选项目
- 16. 已选择DropDownList项目
- 17. DropDownList ASp.NET MVC ALL选项
- 18. 选择所有与一个字段非空的项目
- 19. 基于另一个DropDownList的选择动态填充DropdownList
- 20. 如何基于另一个DropDownList的选择来填充DropDownList?
- 21. LinqDataSource - 为空值过滤
- 22. 角选择与空间的选项值
- 23. 一个ListView,一个LinqDataSource,LINQ到SQL和订购
- 24. linqdatasource:来自另一个项目的数据绑定
- 25. 设置的LinqDataSource约束的DropDownList使用URL查询字符串
- 26. 剑道DropDownList - 如何手动选择一个项目?
- 27. 刷新DropdownList数据后,选择一个新项目
- 28. 获得一个MVC DropDownList中显示所选项目
- 29. MVC DropDownList选项第一个正确更新TryUpdateModel
- 30. 试图选择一个选项与jQuery
你为什么不这项建议添加到您的示例代码清晰? – Keltex 2008-11-10 16:21:10