我正在学习javascript客户端脚本语言,我在ASP中使用j ..我不知道什么时候我编译代码,它显示
COMPILATION ERROR:编译器错误 消息:CS1061:'ASP.default_aspx' 不包含的定义 'popup',没有扩展方法 'popup'接受第一个参数 键入'ASP.default_aspx'可以找到 (你错过了使用指令或 汇编参考?)
这是我的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WEB_test_app._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Shuraat Web ki</title>
<script type ="text/javascript">
function popup()
{
alert("popup!!");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick ="popup()"/>
<script type ="text/javascript">
document.write("Abid");
</script>
</div>
</form>
</body>
</html>
答案 0 :(得分:5)
您会混淆客户端和服务器端事件。 popup()
函数是用Javascript编写的,并在客户端上运行,但OnClick是服务器端事件,因此它的处理程序在服务器上运行,必须用页面的语言编写(C# )。 popup()
在这种情况下没有任何意义。
您可以使用ClientClick事件来处理按钮单击客户端。请注意,您可能应该从处理程序返回false
以避免回发到服务器:
<asp:Button ID="Button1" runat="server" Text="Button"
OnClientClick ="popup(); return false;" />
答案 1 :(得分:1)
您必须将popup()
分配给事件OnClientClick
而不是Click
,如下所示:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick ="popup()"/>
你的问题背后的原因是,当运行时看到OnClick
它试图用C#/ VB.Net(Code-Behind)方法(显然不存在)来附加该事件并且我们解决了通过将事件OnClientClick
附加到您的Javascript方法。
答案 2 :(得分:1)
OnClick
- 是服务器端上的点击处理程序。如果您想调用javascript函数,请使用OnClientClick
。