文本框不是从数据库填充的

时间:2016-01-15 19:02:41

标签: c# asp.net linq

框架:ASP.NET 4.5 |数据库:MSMMS

当从下拉列表中进行选择时,我的演示应用程序应该使用动态数据填充文本框。我已经添加了一个按钮,当按下该按钮时,会发生一个OnClick事件,该事件应该将数据库中的值分配给相应的文本框。现在我的代码看起来像:

protected void btnChoose_Click(object sender, EventArgs e)
    {
        API_DatabaseEntities1 db = new API_DatabaseEntities1();
        var customer = (from c in db.Customers
                        where c.CustomerID == 4
                        select c).FirstOrDefault();

        if (customer == null)
        {
            return;

        }

        if (ddlCustomer.SelectedValue == "Marisol") {

            tbDescription.Text = customer.ToString();
            tbFName.Text = customer.Fname;
            tbSocial.Text = customer.SSN;
            tbDOB.Text = customer.DOB.ToString();
            tbFName1.Text = customer.Fname;
            tbMName.Text = customer.Mname; 
            tbLName.Text = customer.Lname;
            tbPrimaryPhone.Text = customer.PrimaryPhone;
            tbSecondaryPhone.Text = customer.SecondaryPhone;
            tbAdd1.Text = customer.Address;
            tbCity.Text = customer.City;
            tbZip.Text = customer.Zip;
            tbEmail.Text = customer.Email;
            tbMonLease.Text = customer.MortLeaseAmt;
            tbEmployer.Text = customer.Employer;
            tbPosition.Text = customer.Position;
            tbHireDate.Text = customer.HireDate.ToString();
            tbWorkPhone.Text = customer.WorkPhone;
            tbGross.Text = customer.GrossIncome; 

        }

        Debug.WriteLine(tbPosition.Text);


    }

单击该按钮时,页面会向DB发送请求,但文本框仍为空白。我从数据库返回一个值,但它没有填充。以下是我头版的一些代码:

<form id="form1" runat="server"> 

    <asp:DropDownList ID="ddlCustomer" runat="server" DataSourceID="SqlDataSource1" DataTextField="Fname" DataValueField="CustomerID"></asp:DropDownList>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:APIConnectionString %>" SelectCommand="SELECT [CustomerID], [Fname], [Lname] FROM [Customer] ORDER BY [Fname]"></asp:SqlDataSource><br /><br />

    <asp:Button ID="btnChoose" runat="server" Text="Choose Test Case" OnClick="btnChoose_Click" /><br /><br />

 Description of Goods and/or Services:<asp:TextBox ID="tbDescription" runat="server"></asp:TextBox><br /><br />
<div>
 Membership #:<asp:TextBox ID="tbMembership" runat="server"></asp:TextBox> Ext.: <asp:TextBox ID="tbExt1" runat="server"></asp:TextBox> 
 First Name:<asp:TextBox ID="tbFName" runat="server"></asp:TextBox><br /> <br /><br />

  Soc Sec No.: <asp:TextBox ID="tbSocial" runat="server"></asp:TextBox> Date of Birth:<asp:TextBox ID="tbDOB" runat="server" ></asp:TextBox>
</div><br /> <br />

我不确定问题是来自后面的代码还是来自首页设计。任何帮助将是欣赏。谢谢。

1 个答案:

答案 0 :(得分:1)

看起来您的代码正在检查名称的下拉列表中的选择&#34; Marisol&#34; - 然而,&#34;价值&#34;下拉列表的字段配置为使用CustomerID列。因此填充字段的代码将永远不会执行。

也许您应该在查询的WHERE子句中使用ddlCustomer.SelectedValue