gpt4 book ai didi

javascript - 当 javascript 函数添加到网页时,ASP.Net OnTextChanged 事件不会触发

转载 作者:行者123 更新时间:2023-12-02 22:52:45 25 4
gpt4 key购买 nike

我在 ASP.Net 页面上有一个 TextBox,并将 OnTextChanged 设置为代码隐藏函数:

<asp:TextBox ID="txtFirstName" runat="server" Width="150px"
OnTextChanged="txtFirstName_TextChanged" AutoPostBack="true"></asp:TextBox>

protected void txtFirstName_TextChanged(object sender, EventArgs e)
{
if (cbExisting.Checked)
{
DataSet ds =
DataGateway.getExistingEmployeeInfo(txtLastName.Text, txtFirstName.Text);
if (ds != null && ds.Tables[0].Rows.Count > 0)
{
if (ds.Tables[0].Rows.Count == 1)
txtEmployeeID.Text = ds.Tables[0].Rows[0]["EmployeeID"].ToString();
else
{
lblError.Text = "There is more than one existing employee with that name.<br>";
lblError.Text = lblError.Text + "Please indicate which employee you want.<br>";
foreach (DataRow drow in ds.Tables[0].Rows)
{
TableRow trow = new TableRow();
TableCell cell = new TableCell();
CheckBox cb = new CheckBox();
cb.Text = drow["FirstName"].ToString() + " " +
drow["LastName"].ToString() + " (" +
drow["EmployeeID"].ToString() + ")";
cb.AutoPostBack = true;
cb.EnableViewState = true;
cb.ViewStateMode = ViewStateMode.Enabled;
cb.Attributes.Add("onclick", "populateEmpID('"+
cb.ClientID + "','" +
txtEmployeeID.ClientID + "');");
cell.Controls.Add(cb);
trow.Cells.Add(cell);
tblMultEmps.Rows.Add(trow);
}
}
}
}
}

这一切都工作正常,直到我将代码中引用的 javascript 函数添加到网页:

function populateEmpID(CheckBoxID, EmployeeID) {
var cb = document.getElementById(CheckBoxID);
var tbempid = document.getElementById(EmployeeID);
int cblen = cb.length;
String empid = cb.value.substring(cblen - 6, cblen - 1);
tbempid.value = empid;
}

一旦我添加此 JavaScript 函数,OnTextChanged 事件就会停止触发。

请注意,TextBox 位于 ASP.Net View 控件内的 HTML 表中。此外,该页面上还有大量可以正常工作的 JavaScript 函数。仅当我尝试添加上述功能时才会出现此问题。该项目使用 .Net Framework 4,而我正在 Visual Studio 2017 中工作。这到底是怎么回事?

最佳答案

这可能无法解决整个问题,但这些语句不是有效的 js:

int cblen = cb.length;
String empid = cb.value.substring(cblen - 6, cblen - 1);

应该是

var cblen = cb.length;
var empid = cb.value.substring(cblen - 6, cblen - 1);

同样,可能还有其他问题。

关于javascript - 当 javascript 函数添加到网页时,ASP.Net OnTextChanged 事件不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58124012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com