如何获取asp.net下拉列表以允许选择

时间:2019-06-13 14:43:56

标签: c# asp.net

我从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();
    }

它应该允许我从下拉列表中选择一个值,然后使用数据表中的字段填充一些文本框。

2 个答案:

答案 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仅在回发时触发。