有沒有一種優雅的方式來添加一個空的選項綁定到與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