JavaScript进入Asp页面

时间:2011-02-13 08:33:02

标签: javascript asp.net

我正在学习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>

3 个答案:

答案 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