В ASP.net 4.5 C# с использованием AJAX UpdatePanel,Auto Fill Textbox в ASP.NET с использованием AJAX UpdatePanel в зависимости от текста, набранного в другом текстовом поле
Я пытаюсь иметь текстовое поле outputOwnDept заполнить, из базы данных, на основе текст, введенный в текстовое поле inputOwner. Кроме того, я пытаюсь запустить этот поиск, когда пользователь начинает вводить внутри inputOwner.
Что я делаю неправильно?
Вот мой ASPX:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div class="col-lg-6">
<div class="well bs-component">
<fieldset>
<legend>Ownership and Support</legend>
<div class="form-group">
<label for="inputOwner" class="col-lg-2 control-label">IT Owner's Network ID:</label>
<div class="col-lg-10">
<asp:TextBox ID="inputOwner" runat="server" OnTextChanged="inputOwnerTextChanged"></asp:TextBox>
</div>
</div>
</fieldset>
</div>
</div>
<div class="col-lg-6">
<div class="well bs-component">
<fieldset>
<div class="form-group">
<label for="outputOwnDept" class="col-lg-2 control-label">Owner's Department:</label>
<div class="col-lg-10">
<asp:TextBox ID="" runat="server" ReadOnly="true"></asp:TextBox>
</div>
</div>
</fieldset>
</div>
</div>
</ContentTemplate>
<triggers><asp:AsyncPostBackTrigger ControlID="inputOwner" EventName="TextChanged" /></triggers>
</asp:UpdatePanel>
Вот мой код позади:
public void inputOwnerTextChanged(object sender, EventArgs e)
{
DataTable owndept = new DataTable();
using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["PEOPLESOFT"].ConnectionString))
{
try
{
string NetworkID = inputOwner.Text;
SqlDataAdapter adapter = new SqlDataAdapter("select max(vw.DEPTNAME) as DEPTNAME from sysadm.PS_PH_ACTIVE_EE_VW vw where vw.NETWORK_ID like '%" + NetworkID + "%';", con);
adapter.Fill(owndept);
outputOwnDept.Text = (string)DataBinder.Eval(owndept, "DEPTNAME");
outputOwnDept.DataBind();
}
catch (Exception ex)
{
// Handle the error
}
}
}