1

我在 asp.net 中有一个列表框,我正在绑定数据库中的列表项。我有一个名为“提交”的按钮。现在,当页面加载时,我在列表框中获得了所需的值,但是当我选择任何值并按下提交按钮时,它会将列表框的选定索引设置为 -1。

谁能帮我获得正确的索引值?

 <div class="PageRight">
        <asp:ListBox ID="ListOfSql" runat="server" SelectionMode="Single" DataTextField="sql_name"
            DataValueField="sql_text" Style="margin-left: 0px" Width="205px" EnableViewState="true"
            OnSelectedIndexChanged="ListOfSql_SelectedIndexChanged">
        </asp:ListBox><br />
        <asp:Button ID="btnPreSqlExe" runat="server" Text="Sumbit" 
        onclick="btnPreSqlExe_Click">
        </asp:Button>
     </div>

.cs 页面就像

 protected void btnPreSqlExe_Click(object sender, EventArgs e)
    {

            txtQuery.Text = ListOfSql.SelectedItem.Value.ToString();

        }

要在 listBox 中绑定数据,我使用以下代码

Private void loadSqlList()
    {
        if (!IsPostBack)
        {
            conn.Open();
            DataTable dt = new DataTable();
            DataSet ds = new DataSet();
            string preSql = "select sql_name, sql_text from cn_sql_log order by sql_name";
            OracleDataAdapter da = new OracleDataAdapter(preSql, conn);
            da.Fill(ds);
            ListOfSql.DataSource = ds;
            ListOfSql.DataTextField = "Sql_Name";
            ListOfSql.DataValueField = "sql_Text";
            ListOfSql.DataBind();
            ListOfSql.SelectedIndex = 0;
            conn.Close();
        }

并在 page_load 上调用loadSqlList()

4

0 回答 0