C# ASPX中的简单jQuery Hello World

C# ASPX中的简单jQuery Hello World,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我真的不明白为什么这个简单的例子不起作用 我有一个Web应用程序,其中有一个脚本: function myAlert() { $("#Button1").click(function () { alert("Hello world!"); }); } 在我的asp页面中,我有以下简单的代码 <%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="

我真的不明白为什么这个简单的例子不起作用 我有一个Web应用程序,其中有一个脚本:

function myAlert() {    
    $("#Button1").click(function () {
        alert("Hello world!");
    });
}
在我的asp页面中,我有以下简单的代码

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Graph.aspx.cs" Inherits="WebApplication.Graph" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">  
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<asp:Button ID="Button1" runat="server" Text="Button" Width="100px"/>
</asp:Content>
我看不出这有什么问题。我试图直接将纸条包含在aspx中,但什么也没有。然后我尝试了一个简单的html页面,效果很好


我想在我的页面中使用一个使用jQuery的绘图库,因此,如果这样一个简单的示例给我带来了这么多问题,那么我很难成功……lol

尝试在您使用的任何浏览器中检查调试控制台,查看“$”是否未定义。使用完整的ASP.NET方法时,您似乎缺少jquery。

由于使用母版页,该按钮的Id不会是
#Button1
。尝试查看源代码以了解我的意思

要解决这个问题,您需要能够在JavaScript中看到实际的Id

在您的
页面加载
方法中类似于此:

ScriptManager.RegisterClientScriptBlock(this, this.GetType(),
    "Button1Id", string.Format("var Button1Id = '{0}';", Button1.ClientID), true);
将在您的页面中创建以下内容:

<script type="text/javascript">
//<![CDATA[
var Button1Id = 'Button1';//]]>
</script>

非常感谢!我在源代码中注意到了它,但我认为它只是按钮的一个“通用”名称,就像使用反编译器时一样。。。
<script type="text/javascript">
//<![CDATA[
var Button1Id = 'Button1';//]]>
</script>
function myAlert() {
    $("#" + Button1Id).click(function () {
        alert("Hello world!");
    });
}