java dropdownlist_ASP动态DropDownList选择索引

我的Web表单最初是两个TextBox,两个Buttons,一个CheckBoxList(绑定到数据库查询的结果)和一个空的DropDownList .

当用户在第一个TextBox中输入搜索短语并点击输入(或单击第一个按钮“搜索”)时,会出现一个GridView,其中填充了从数据库中提取的行 . 当用户点击其中一行的“选择”按钮时,将填充DropDownList(绑定到数据库查询的结果)并启用(如果查询返回结果 - 如果没有结果,则保持禁用状态) . 单击第二个按钮(“保存设置”)时,相关数据将保存到DB,GridView的选择将被清除,DropDownList将被清除和禁用 .

所有上述工作 . 问题来自DropDownList . 我无法获得C#代码来识别更改的SelectedIndex;取决于我如何改变我的代码,索引始终为0(并且DropDownList被强制保留在第一个项目上)或-1(并且列表被禁用) .

DropDownList代码:

DataTextField="MyName" DataValueField="MyID"

Enabled="False" onselectedindexchanged="myList_SelectedIndexChanged" />

C#代码:

protected void myGrid_SelectedIndexChanged(object sender, EventArgs e)

{

using (SqlConnection connection = new SqlConnection(connectionString))

{

if (myGrid.SelectedIndex >= 0)

{

int id = int.Parse(myGrid.Rows[myGrid.SelectedIndex].Cells[2].Text);

connection.Open();

string query = "..."; // Omitted for brevity; the query is correct

SqlDataSource source = new SqlDataSource(connectionString, query);

source.SelectParameters.Add("Param1", TypeCode.String, id.ToString());

DataTable dt = ((DataView)source.Select(DataSourceSelectArguments.Empty)).Table;

dt.AcceptChanges();

myList.DataSource = dt;

myList.DataBind();

myList.Enabled = myList.Items.Count != 0;

if (!myList.Enabled)

{

myList.Items.Add(new ListItem("No Results", "0"));

}

}

}

}

protected void myList_SelectedIndexChanged(object sender, EventArgs e)

{

// ((DropDownList)sender).SelectedIndex == -1

}

我已经读过在搜索问题的解决方案时DropDownList存在一些问题,但除了设置AutoPostBack =“True”的注释之外,我发现的其他情况都没有帮助 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值