LinqDataSource ile bir DropDownList'e boş bir seçenek eklemenin zarif bir yolu var mı?LinqDataSource ve boş bir seçenek ile DropDownList
6
A
cevap
9
İşte listenin en üstünde bir değer katmak için nasıl. Boş bir dize veya bir metin olabilir.
<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>
Doğru = DropDownList adlı AppendDataBoundItems ayarlamayı unutmayın. o linq uzantısı yöntemi Birliği kullandığından, linq-y
public static IEnumerable<string> Prepend(this IEnumerable<string> data, string item)
{
return new string[] { item == null ? string.Empty : item }.Union(data);
}
Onun tür:
0
Ben listenin başına bir öğe de başa IEnumerable<string>
üzerinde bir uzantısı yöntem sağlar ederim. Bunu yaparken daha Onun biraz daha temiz:
var result = new string[]{string.Empty}.Union(from x in data select x.ToString());
1
Biçimlendirme:
<asp:DropDownList ID="ddlQualQuestion" runat="server" DataSourceID="sdsQualQuestion" DataTextField="ShortQuestionText" DataValueField="QualificationQuestionKey" AutoPostBack="true" OnSelectedIndexChanged="ddlQualQuestion_SelectedIndexChanged" OnDataBound="ddlQualQuestion_DataBound" />;
Kod arkasında: eğer
<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:
protected void ddlQualQuestion_DataBound(object sender, EventArgs e)
{
ddlQualQuestion.Items.Insert(0, new ListItem("", "0"));
}
1
DOK sağlanan çözüm çıkarak kullanıcıyı zorlamak istemezsiniz Bir seçenek, GridView LinqDataSource için bir yöntem ekleyebilirsiniz yapmak: Böyle arkasında
OnSelecting="myGridview_Selecting"
Ekleme kodu:
protected void myGridview_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
if (categories.SelectedValue == "-1")
{
e.WhereParameters.Remove("CategoryID");
}
}
İlgili konular
- 1. Raylara boş bir seçenek eklemek etiketi seçin
- 2. databound dropdownlist bir öğe seç
- 3. DropDownList
- 4. Bir Winform Combobox türünde varsayılan boş değeri temizleniyor: DropDownList
- 5. Seçenek [ile] Scala kalıbı eşleşmesi Seçenek [0]
- 6. Bir DropDownList için SelectedValue ayarı, başka bir DropDownLIst
- 7. EditorTemplate DropDownList
- 8. Yii DropDownList varsayılan değer
- 9. DropdownList DataSource
- 10. DropDownList seçili değer
- 11. Form ile seçilen seçenek :: select
- 12. Node.js ile çoktan seçenek istemi
- 13. ViewModel DropDownList ve HTTP Post Controller
- 14. clientSide ve ServerSide'de selectedIndexChanged dropdownlist nasıl kullanılır?
- 15. Bir ASCX denetimine bir DropDownList doldurun
- 16. GetOrElse'nin yaptığı gibi bir Seçenek Türü döndüren ancak seçenek türü
- 17. Bir seçenek (CSS)
- 18. Yii2'deki dropDownList Yii2
- 19. İlişkili dropDownList ilişkileri kullanarak?
- 20. DropDownList öğesindeki öğeler kayboluyor
- 21. ASP.NET Otomatik Tamamlama DropDownList
- 22. Bir DropDownList öğesinin seçili değerini alın. Bir DropDownList doldurmak için ve ben formu gönderdiğinde seçilen değeri almaya çalışıyorum
- 23. ASP stilini değiştir DropDownlist
- 24. C# dropdownlist değişiklik olayı
- 25. Boş localIdentifier ve UDIDeviceIdentifier ile HKDevice
- 26. Bir seçenek karmasının başka bir
- 27. değişim/i değerlerle DropDownList var jquery
- 28. değiştirme değeri, bir seçenek seçilmiş
- 29. zaten seçenek
- 30. jQuery Çoklu Seçenek - Bir seçenek seçilirse, kontrol ya da değil
Neden netlik için örnek kod bu öneriyi katmayan? – Keltex
Öneri için teşekkürler, Keltex. Orijinal versiyonumun, özniteliğin değiştirilmesi gerektiği noktasını vurguladığını düşündüm, ama açıkçası öyle değildi. – DOK
Sonuç olarak, AppendDataBoundItems değerini true olarak ayarlamak başlangıçta boş bir seçenek ekler. Varsayım ya da ne olduğu gibi. Bir asp: ListItem eklerseniz, 2 boş seçenek alırım. Her neyse, çözümün harika, teşekkürler. – jansokoly