Я пытаюсь заполнить или заполнить выпадающий список из события TextBox_TextChanged, но, похоже, я не могу получить самую первую запись. Он полностью обходит его. Он подходит ко второй записи и полностью игнорирует первую запись. Любая помощь будет большой. Я обволакиваю голову вокруг этого часами и не могу понять это для меня. Заранее спасибо.ASP.Net UpdatePanel Textbox TextChanged не может вернуть первый элемент в DropDownList
Вот мой код позади:
protected void MyListDataBound(object sender, EventArgs e)
{
ddlSpaceNum.Items.Insert(0, new System.Web.UI.WebControls.ListItem("- Select -", ""));
ddlSpaceNum2.Items.Insert(0, new System.Web.UI.WebControls.ListItem("- Select -", ""));
}
public void populateSpaceNum()
{
string selectSQL = @"Select Id, BU, SpaceNum
From PossessionTurnoverLetter
WHERE LTRIM(RTRIM(BU)) = '" + txtBU.Text + "'";
SqlConnection con = new SqlConnection(cnnString);
SqlCommand cmd = new SqlCommand(selectSQL, con);
SqlDataReader reader = default(SqlDataReader);
try
{
con.Open();
reader = cmd.ExecuteReader();
reader.Read();
if (reader.HasRows)
{
ddlSpaceNum2.DataSource = reader;
ddlSpaceNum2.DataTextField = "SpaceNum";
ddlSpaceNum2.DataValueField = "SpaceNum";
ddlSpaceNum2.DataBind();
}
}
catch (Exception ex)
{
//lblSupplier.Text = "Supplier Number is incorrect!!";
}
finally
{
reader.Close();
con.Close();
}
}
protected void txtBU_TextChanged(object sender, EventArgs e)
{
populateSpaceNum();
}
Вот моя ASPX страница:
<asp:UpdatePanel ID="udpRevised" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table style="width:100%" cellpadding="4px">
<tr>
<td colspan="6">
</td>
</tr>
<tr>
<td colspan="6">
<asp:RadioButtonList ID="rblRevision" runat="server" RepeatDirection="Horizontal" TextAlign="Right" RepeatColumns="2" CellSpacing="10" CellPadding="10" ForeColor="#F78222" OnSelectedIndexChanged="rblRevision_SelectedIndexChanged" AutoPostBack="True">
<asp:ListItem Value="Initial Possession Turnover"></asp:ListItem>
<asp:ListItem Value="Revised Possession Turnover"></asp:ListItem>
</asp:RadioButtonList>
</td>
</tr>
</table>
<hr />
<asp:UpdatePanel ID="udpShowUpdate" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="pnlRevised" runat="server" Visible="False">
<asp:UpdatePanel ID="udpSearch" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table style="width:100%" cellpadding="4px">
<tr>
<td colspan="4">
<asp:Label ID="lblSearch" runat="server" Text="Search" Font-Bold="True" Font-Underline="True" Font-Size="20px"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblBU" runat="server" Font-Bold="true" Text="Business Unit:"></asp:Label>
</td>
<td>
<asp:Label ID="lblSpace" runat="server" Font-Bold="true" Text="Space #:"></asp:Label>
</td>
<td>
<asp:Label ID="lblTurnoverDate" runat="server" Font-Bold="true" Text="Possession - Turnover Date:"></asp:Label><br />
</td>
<td>
</td>
</tr>
<tr>
<td colspan="6">
<asp:Label ID="lblError" runat="server" Text="You have not specified a valid entry. Please try again!" Visible="False"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="txtBU" runat="server" CssClass="form-control" OnTextChanged="txtBU_TextChanged" AutoPostBack="True"></asp:TextBox>
</td>
<td>
<asp:DropDownList ID="ddlSpaceNum2" runat="server" CssClass="form-control" OnDataBound="MyListDataBound" OnSelectedIndexChanged="ddlSpaceNum2_SelectedIndexChanged" AutoPostBack="True"></asp:DropDownList>
</td>
<td>
<asp:TextBox ID="txtTurnoverDate" runat="server" data-datepicker="true" CssClass="form-control"></asp:TextBox>
</td>
<td>
<asp:Button ID="btnSearch" runat="server" Text="Search" CssClass="btn btn-default" OnClick="btnSearch_Click" UseSubmitBehavior="False" />
</td>
</tr>
<tr>
<td colspan="6">
</td>
</tr>
</table>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="txtBU" EventName="TextChanged" />
<asp:AsyncPostBackTrigger ControlID="ddlSpaceNum2" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</asp:Panel>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rblRevision" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
Любая помощь будет принята с благодарностью. Благодарю.