有沒有一種優雅的方式來添加一個空的選項綁定到與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中的選定項填充DropDownList項目?
- 3. DropDownList得到一個空白選擇
- 4. databound dropdownlist選擇一個項目
- 5. 另一個DropDownList選擇項目問題
- 6. Asp.net DropDownList與篩選器選項
- 7. DropDownlist預選多個項目
- 8. Yii的嵌套DROPDOWNLIST與選項組
- 9. Dropdownlist中的第一項空白
- 10. 第一項dropdownlist項目不可選asp.net
- 11. 如何從一個DropDownList基礎上的項目在ASP MVC另一個DropDownList的選擇和使用Javascript
- 12. Dropdownlist一行包含兩個可選擇的選項
- 13. asp.net mvc 5 DropDownList可空int的默認選項不爲空
- 14. 使用第一個選項中的選項填充第二個DropDownList
- 15. DropDownList項未選中
- 16. 選擇非空的第一個選項
- 17. 只顯示LinqDataSource的一些項目
- 18. DropDownList - 回發項目爲空
- 19. 選擇一個值到一個DropDownList
- 20. 在DataList控件中填充一個DropDownList與另一個DropDownList
- 21. WHERE與DropDownList的選定值
- 22. jQuery的:一個選擇的一個選項都有空值
- 23. ASP.NET DropDownList - GetSelectedIndices缺少一個選定的項目
- 24. 將DropDownList選項限制爲GridView中的其中一個值
- 25. 當選擇一個特定的DropDownList項目
- 26. LinqDataSource - 爲空值過濾
- 27. LinqDataSource與複雜的SQL
- 28. FSharp選項和空
- 29. Flex 4 DropDownList所選項目
- 30. DropDownList加載選項屬性
你爲什麼不這項建議添加到您的示例代碼清晰? – Keltex 2008-11-10 16:21:10