如何在下拉菜单中自动选择asp.net

d4so4syb  于 2022-12-05  发布在  .NET
关注(0)|答案(5)|浏览(143)

有一个网页,将招收学生,他们必须填写自己的个人信息,然后保存,但当他们不得不修改它出于某种原因,我设置了两个下拉加载所有的州和他们的县,但问题是,我不知道如何自动选择相同的州比一个保存在数据库中的每个学生,有人能帮我做到这一点吗?下面是我正在工作的代码:

SqlDataReader dr = cmd.ExecuteReader();
 DDOWNState.DataTextField = dr["State"].ToString();
 DDOWNCounty.DataTextField = dr["County"].ToString();
7uhlpewt

7uhlpewt1#

试试这个

DDOWNState.DataTextField = dr["State"].ToString();
DDOWNState.DataBind();

DDOWNCounty.DataTextField = dr["County"].ToString();
DDOWNCounty.DataBind();
lnlaulya

lnlaulya2#

使用下列程式码。它会对您有所帮助。每当您使用将dataSources(DataTable、DataSet等)系结至Dropdown或任何其他服务器控件时,您应该使用Datasource和Databind属性,如下所示。

SqlDataReader dr = cmd.ExecuteReader();
DDOWNState.DataSource=dr;
DDOWNState.DataTextField = dr["State"].ToString();
DDOWNState.DataBind();

DDOWNCounty.DataSource=dr;
DDOWNCounty.DataTextField = dr["County"].ToString();
DDOWNCounty.DataSource();
bakd9h0s

bakd9h0s3#

您只需检查学生所在的州是否与代码中显示的数据库所在的州匹配

// Let Say We have Student's Current state is USA
string curruntState = "USA";

SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    if (curruntState.ToUpper() == reader["State"].ToString().ToUpper())
    {
        ListItem item = new ListItem(reader["State"].ToString(), reader["StateID"].ToString());
        item.Selected = true;
        ddStates.Items.Add(item);
    }
    else
    {

        ListItem item = new ListItem(reader["State"].ToString(), reader["StateID"].ToString());
        item.Selected = false;
        ddStates.Items.Add(item);
    }
}
ddStates.DataBind();
reader.Close();
1tu0hz3e

1tu0hz3e4#

我想,你已经绑定了DropDownList和它的项目。现在,你需要做一些像这样的绑定代码后。

DDOWNState.ClearSelection(); //You need to clear first.
DDOWNState.Items.FindByText(dr["State"].ToString()).Selected = true;

ClearSelection()函数需要在选择dropdownlist中的任何其他项之前运行,因为dropdownlist一次只允许选择一项。请注意,它不会从dropdownlist中删除项,而只是清除选择,以便您可以选择任何其他ListItem
如果你用FindByValue()函数把值保存到数据库中,你也可以这样做。这肯定会对你有帮助。

yfjy0ee7

yfjy0ee75#

对于自动选择下拉列表,它依赖于其他你只需要添加
〈asp:下拉列表ID-“下拉列表1”runat=“服务器”onSelectedIndexChanged-“下拉列表1选定索引Changed”自动回发=“true”〉
设置自动回发属性=“true”
受保护的void Page_Load(对象发送方,EventArgs e)
如果(下拉列表选定值==“1”)
{
下拉列表2。选择值=“1”;
}

相关问题