我将 ASP.NET 页面DeleteUser.aspx
转换为用户控件DeleteUser.ascx
。
aspx 页面有一个简单的 javascript 函数,如下所示:
function deleteConfirmation() {
var xusername = document.getElementById('<%= txtusercn.ClientID %>').value;
if (xusername != null && xusername != "") {
var userTextBoxId = '<%= txtusercn.ClientID %>';
var uname = document.getElementById(userTextBoxId).value;
return confirm('Are you sure you want to delete \'' + uname + '\'?');
}
else {
alert('Please enter Usercn');
return false
}
}
现在,由于这已转换为用户控件,DeleteUser.ascx
因此我首先将此 javascript 代码移动到<head>
标记中包含的 aspx 文件中。抛出异常的页面txtusercn
不在包含的 aspx 文件的范围内。
然后我将 javascript 函数移动到一个单独的 javascript 文件 DeleteUser.js 中,并像这样引用它DeleteUser.ascx.cs
:
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptInclude(typeof(DeleteUser),"DeleteUserScript",@"../scripts/DeleteUser.js");
}
这里没有调用 javascript 函数,但是当我检查包含 aspx 文件的页面源时,我可以看到 javascript 函数已正确注册。
为什么即使页面引用了javascript文件后javascript函数也没有被调用DeleteUser.js
编辑:
像这样调用函数:
<asp:Button ID="btndeleteusercn" runat="server" Text="Delete Usercn" OnClick="btndeleteusercn_Click" OnClientClick="return deleteConfirmation();" />