有沒有辦法讓ASP.NET DropDownList中的項目的文本或值綁定到源上的方法而不是屬性?將ASP.NET DropDownList的DataTextField綁定到方法?
6
A
回答
0
要做到這一點的唯一方法是處理DropDownList的Databinding事件,調用方法並自己設置DropDownList項中的值。
-4
以聲明:
<asp:DropDownList ID="ddlType" runat="server" Width="250px" AppendDataBoundItems="true" DataSourceID="dsTypeList" DataTextField="Description" DataValueField="ID">
<asp:ListItem Value="0">All Categories</asp:ListItem>
</asp:DropDownList><br />
<asp:ObjectDataSource ID="dsTypeList" runat="server" DataObjectTypeName="MyType" SelectMethod="GetList" TypeName="MyTypeManager">
</asp:ObjectDataSource>
以上結合到返回泛型列表的方法,但你也可以綁定到返回一個DataReader的方法。你也可以用代碼創建你的數據源。
3
這是我的解決方案:
<asp:DropDownList ID="dropDownList" runat="server" DataSourceID="dataSource" DataValueField="DataValueField" DataTextField="DataTextField" />
<asp:ObjectDataSource ID="dataSource" runat="server" SelectMethod="SelectForDataSource" TypeName="CategoryDao" />
public IEnumerable<object> SelectForDataSource()
{
return _repository.Search().Select(x => new{
DataValueField = x.CategoryId,
DataTextField = x.ToString() // Here is the trick!
}).Cast<object>();
}
0
有時候,我需要使用導航屬性爲DataTextField,像(「User.Address.Description」),所以我決定創建一個簡單的控制,從DropDownList中派生。 我也實現了一個ItemDataBound事件,可以幫助。
public class RTIDropDownList : DropDownList
{
public delegate void ItemDataBoundDelegate(ListItem item, object dataRow);
[Description("ItemDataBound Event")]
public event ItemDataBoundDelegate ItemDataBound;
protected override void PerformDataBinding(IEnumerable dataSource)
{
if (dataSource != null)
{
if (!AppendDataBoundItems)
this.Items.Clear();
IEnumerator e = dataSource.GetEnumerator();
while (e.MoveNext())
{
object row = e.Current;
var item = new ListItem(DataBinder.Eval(row, DataTextField, DataTextFormatString).ToString(), DataBinder.Eval(row, DataValueField).ToString());
this.Items.Add(item);
if (ItemDataBound != null) //
ItemDataBound(item, row);
}
}
}
}
1
這裏有兩個例子從一個類
你的aspx頁面
<asp:DropDownList ID="DropDownListJour1" runat="server">
</asp:DropDownList>
<br />
<asp:DropDownList ID="DropDownListJour2" runat="server">
</asp:DropDownList>
您的aspx.cs頁面
protected void Page_Load(object sender, EventArgs e)
{
//Exemple with value different same as text (dropdown)
DropDownListJour1.DataSource = jour.ListSameValueText();
DropDownListJour1.DataBind();
//Exemple with value different of text (dropdown)
DropDownListJour2.DataSource = jour.ListDifferentValueText();
DropDownListJour2.DataValueField = "Key";
DropDownListJour2.DataTextField = "Value";
DropDownListJour2.DataBind();
}
你怨婦結合在ASP.net下拉。 cs class(jour.cs)
public class jour
{
public static string[] ListSameValueText()
{
string[] myarray = {"a","b","c","d","e"} ;
return myarray;
}
public static Dictionary<int, string> ListDifferentValueText()
{
var joursem2 = new Dictionary<int, string>();
joursem2.Add(1, "Lundi");
joursem2.Add(2, "Mardi");
joursem2.Add(3, "Mercredi");
joursem2.Add(4, "Jeudi");
joursem2.Add(5, "Vendredi");
return joursem2;
}
}
+0
非常有用,我能找到的唯一答案之一顯示瞭如何設置DataTextField和DataValueField – 2016-06-30 07:35:13
相關問題
- 1. 將數據綁定到ASP.NET中的DropDownList
- 2. DropDownList的與DataValueField和DataTextField asp.net C#
- 3. asp.net mvc dropdownlist綁定
- 4. 將dropdownlist綁定到dropdownlist以查看詳細信息ASP.NET C#
- 5. 無法將數據綁定到DropDownList
- 6. 數據綁定到asp.net中的dropdownlist?
- 7. 將ASP.net DropDownList的選定值綁定到自定義對象
- 8. Asp.Net MVC DropDownList數據綁定
- 9. 將XMLWebService中的值綁定到ASP.Net中的Dropdownlist中
- 10. 如何將json數據綁定到使用jquery的asp.net dropdownlist?
- 11. 如何將GridView的列綁定到DropDownList?
- 12. dropdownlist由屬性組成的DataTextField?
- 13. 將CheckBox綁定到方法
- 14. 將方法綁定到gridview
- 15. 的DropDownList綁定到的ActionResult Create方法MVC 4 VS2012
- 16. 使用asp.net mvc 2.0將數據從數據庫綁定到dropdownlist
- 17. 綁定到ListControl而不指定DataTextField和DataValueField?
- 18. 將DropDownList綁定到十進制數
- 19. 將DropDownList數據源綁定到XPathSelect
- 20. 如何將結構綁定到DropDownList
- 21. 將字符串數組綁定到DropDownList?
- 22. 如何將Kendo DropDownList綁定到Observable類?
- 23. 是否可以將hiddenfield綁定到dropdownlist?
- 24. 如何將XDocument綁定到DropDownList?
- 25. ASP.NET綁定的DropDownList拋出錯誤
- 26. 的DropDownList的設置DataTextField =的ItemIndex
- 27. 無法將DropDownList的selectedIndex綁定到Bindable類的selectedIndex成員
- 28. 如何使用C#將ASP.NET數據源綁定到ASP.NET動態ListView中的DropDownList?
- 29. 將ViewModel綁定到DropDownListFor除第三個值以外dataValueField/dataTextField
- 30. 導航屬性上的DropDownList DataTextField
在您的示例中,DataTextField和DataValueField是屬性。我需要將源代碼中調用方法的結果作爲文本或值。 – kenstone 2008-09-25 18:04:32