當前問題:我的DropDownList提供了DataTextField =「COLUMNS_NAME」DataValueField =「DATA_TYPE」屬性,DropDownList_SelectedIndexChanged()不保留基於所選輸入的文本。但它保留了項目列表中的第一個值具有重複數據值字段的DropDownList OnSelected會感到困惑並選擇第一個爲什麼?
需要解決方案:如何根據DATA_TYPE屬性保留所選輸入文本? 我試圖存儲Session [「DDLValue」] = DropDownList.SelectedItem.Text,但它始終保留滿足索引中相應DATA_TYPE的項目列表中的第一個值。
即,如果我選擇「E」從下面的DropDownList輸入保留在DropDownList中的值是「d」
如何保留「E」
COLUMN_NAME DATA_TYPE
a decimal
b decimal
c decimal
d int
e int
f varchar
g varchar
h varchar
i varchar
j varchar
.aspx的代碼:
<asp:DropDownList ID="DropDownList5" runat="server" AutoPostBack="true" OnSelectedIndexChanged ="DropDownList5_SelectedIndexChanged" DataSourceID="MySqlDataSource">
</asp:DropDownList>
<asp:SqlDataSource ID="MySqlDataSource" runat="server">
</asp:SqlDataSource>
C#代碼:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDropDownLists();
}
}
private void BindDropDownLists()
{
MySqlDataSource.ConnectionString = connection;
MySqlDataSource.SelectCommand = "SELECT DATA_TYPE + '_' + convert(varchar(10), ROW_NUMBER() OVER(ORDER BY DATA_TYPE))as DATA_TYPE, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE (TABLE_NAME = 'RESULT' AND COLUMN_NAME IN ('Column1','column2','Column3'))";
DropDownList5.DataTextField = "COLUMN_NAME";
DropDownList5.DataValueField = "DATA_TYPE";
DropDownList5.DataBind();
}
你在哪裏填充下拉,它是在頁面加載? –
可能是在從'dropdown'列表中獲取值之前再次填充'dropdown'列表。 –
分享下拉式填充方法代碼 –