System.Data.DataRowView in DropDownList

試著忘記壹切 提交于 2019-11-30 23:18:11

You should set the DataValueField and DataTextField Properties of the drop down.

ddlMobile.DataSource = ds1.Tables["AUser"];
ddlMobile.DataValueField = "CountryCode";
ddlMobile.DataTextField = "CountryName";
ddlMobile.DataBind();

Here CountryCode and CountryName must be the column names corresponding to those values in your DataRow

You are seeing what the default implementation of DataRowView.ToString() does. To pick specific fields from within the DataRow to display, do something like this.

ddlMobile.DataSource = ds1.Tables["AllUser"];
ddlMobile.DataTextField = "CountryCode"; // This is text displayed
ddlMobile.DataValueField = "CountryCode"; // This is the value returned
ddlMobile.DataBind();

You haven't set the DataTextField in the DropDownList. It's recommended to set also the DataValueField In your aspx add the DataTextField property:

<asp:DropDownList ID="ddlMobile" runat="server" 
                  DataTextField="CountryCode"
                  DataValueField="CountryCode" />

You can also set it in the code behind, like the other answers show.

Otherwise the behaviour that you are seeing, is because the DataBound is calling the ToString() to display the info, as you don't provided wich data field look for.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!