【问题标题】:asp.net dropdownlist and database weird issueasp.net 下拉列表和数据库奇怪的问题
【发布时间】:2018-08-30 08:47:41
【问题描述】:

我有 2 个下拉列表和 2 个问题。第一个应该与employerID一起加载并显示如下所示:

DataSet ds = new DataSet();
SqlDataAdapter daEmploy = new SqlDataAdapter(EmployCmd);
conn.Open();

daEmploy.Fill(ds, "EmployerID");

ddlCompanyList.DataSource = ds.Tables[0];
ddlCompanyList.Items.Clear();
ddlCompanyList.Items.Add("--Please Select the Company--");
ddlCompanyList.DataTextField = "EmployerID";
ddlCompanyList.DataValueField = "EmployerID";
ddlCompanyList.DataBind();

conn.Close();

除了由于某种原因我无法将“请选择公司”添加到下拉列表中之外,这一切都很好。

奇怪的问题是,当我选择其中一个条目时,它只是刷新页面,除了使第二个下拉列表可见并从两个列表中删除所有数据之外,什么都不做。

第二个问题是当我尝试同时选择 EmployerID 及其名称并将它们组合成一列以在下拉列表中使用而不是像这样单独使用 EmployerID

SqlCommand Cmd = new SQLCommand("SELECT EmployerID + ' - ' + Name AS CompanyName From Employer", conn);

我不知道如何使用此 dropdownlist.selectedvalue 来调用相应的员工,因为我不知道如何将列拆分回原来的两列。

谢谢~

【问题讨论】:

    标签: c# sql asp.net webforms


    【解决方案1】:

    我无法将“请选择公司”添加到某些下拉列表中 原因。

    您必须确保将AppendDataBoundItems 设置为true

    <asp:DropDownList ID="ddlCompanyList" runat="server" AppendDataBoundItems="true">
        <asp:ListItem Text="--Please Select the Company--" Value="" />   
    </asp:DropDownList>
    

    奇怪的问题是当我选择一个条目时,它只是 刷新页面,除了制作第二个页面之外什么都不做 下拉列表可见并从两个列表中删除所有数据。

    我猜这是经典错误的原因,您总是对 DropDownList 进行数据绑定,而不仅仅是 if(!IsPostBack)。所以在Page_Load中使用这个:

    if(!IsPostBack)
    {
        MethodWhichDataBindsYourDropDownList();
    }
    

    第二个问题是当我尝试同时选择 EmployerID 和他们的 名称并将它们组合成一列以用于 下拉列表,而不仅仅是像这样的 EmployerID

    您只使用EmployerId,对DataTextFieldDataValueField 使用不同的值

    ddlCompanyList.DataTextField = "EmployerID";
    ddlCompanyList.DataValueField = "EmployerName";
    

    然后使用这个查询:

    string sql = "SELECT EmployerID, EmployerID + ' - ' + Name AS EmployerName From Employer";
    SqlCommand Cmd = new SQLCommand(sql, conn);
    

    【讨论】:

    • 谢谢!我发现主要问题是因为我实际上已经放置了相同的下拉列表来填充员工,这使得它删除了所有内容,因为雇主的选定值将变得一无所有。在实施您的最后一个查询后,我实际上不知道该怎么做。当我使用 EmployerID 选择 employeeID + name 时,它​​可以工作,但如果我同时使用它仍然无法工作
    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    相关资源
    最近更新 更多