我从sql查询中填写的Web表单上有一个下拉列表,然后我希望能够在下拉列表中选择单个项目,并从表单上的数据表填充文本框中获取相应的字段 问题是rowSel返回0,并且下拉菜单不允许我选择其他任何项目,它始终会返回列表中的第一个itenm。
认为这可能与将autopostback设置为true有关,但是如果我将其设置为false会导致其他问题,则不知道该怎么做。我是Winforms的人,对asp.net还是很新的
protected void ddClients_SelectedIndexChanged(object sender, EventArgs e)
{
int rowSel = ddClients.SelectedIndex;
txtClient.Text = dsShow.Rows[rowSel["ClientsTableFieldA"].ToString();
}
它应该允许我从下拉列表中选择一个值,然后使用数据表中的字段填充一些文本框。
答案 0 :(得分:1)
您可以尝试:
protected void ddClients_SelectedIndexChanged(object sender, EventArgs e)
{
txtClient.Text = ddClients.SelectedItem.Value.ToString();
}
答案 1 :(得分:0)
protected void ddClients_SelectedIndexChanged(object sender, EventArgs e)
{
txtClient.Text = ddClients.SelectedItem.Text;
}
B。Seberle建议 DDL项目具有字段值和文本,因此它取决于将ddl绑定到SQL数据源的方式。
将断点放在txtClient.Text = ddClients.SelectedItem.Text上,以查看项目列表是否为空。
这不是必需的,但是您可以在page_load if(!Page.IsPostback)中强制使用ddClient.databind()。
但是ddClients_SelectedIndexChanged仅在回发时触发。