我在ASP.NET中有一個文本框和一個標籤,我想用從文本框中輸入的內容獲取的數據庫中的值自動更新標籤。這應該在文本在文本框中更改時動態完成,如果在數據庫中找到匹配項,則相應的值應該顯示在標籤字段中(不需要頁面刷新)。在這種情況下,我將在文本框中輸入員工ID,員工姓名應顯示在標籤中。我使用下面的代碼,在文本框中輸入內容時自動更新標籤asp.net
<asp:ScriptManager ID="script_manager" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="update_name" runat="server">
<ContentTemplate>
<asp:TextBox ID="text_empID" TextMode="Number" MaxLength="6" AutoPostBack="true" OnTextChanged="text_empID_TextChanged" runat="server"></asp:TextBox>
<asp:Label ID="label_empName" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
後面的代碼如下所示,
protected void text_empID_TextChanged(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("select EmployeeName from EmployeeTable where [email protected]", con);
cmd.Parameters.AddWithValue("@id", text_empID.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
label_empName.Text = dt.Rows[0]["EmployeeName"].ToString();
}
}
但是,這是行不通的。在文本框中輸入值後,如果我在框外單擊,文本內部消失。有沒有其他方法可以做到這一點?或者我在這裏做錯了什麼?
@JeremyKern他有一個腳本管理和更新面板 – Ted