我将ASP.NET页面DeleteUser.aspx
转换为用户控件DeleteUser.ascx
。Javascript未被ASP.NET用户控件调用
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();" />
你是如何调用该函数?你的浏览器调试控制台/ firebug/dev tools/etc是什么?说,如果有任何错误? – EdSF 2013-05-14 10:17:12
你检查过产生的标记(脚本标记)吗?我敢打赌,正确的文件夹有问题。如果您的脚本文件夹位于站点根目录,请尝试使用“/scripts/DeleteUser.js”,顺便说一句。你不需要@斜杠(/) – 2013-05-14 10:22:46
@EdSF:我编辑的问题与我如何调用该函数。 – Animesh 2013-05-14 10:29:10