2013-06-19 25 views
0

我只是想让jQuery在我的页面上工作,但效果并不好。 我已经尝试了很多不同的解决方案,我在网上找到了,但到目前为止唯一已经工作的是在代码隐藏方面。只有“警惕”没有别的。jQuery和asp.net不会合作

button1.Attributes.Add("onclick", "alert(\"hello\")"); 

在页头:

<script type="text/javascript" src="../../scripts/jquery-1.5.1.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#button1").click(function(event){ 
     alert("Hello world!"); 
     }); 
    }); 
</script> 

在页面主体:

<asp:Button ID="button1" runat="server" Text="button" /> 

我得到的按钮,但是当我点击它不是一个该死的事情发生了。

编辑:

非常感谢快速回答"#<%=button1.ClientID %>"解决我的问题,而是一个新的显示出它的自我。

$(document).ready(function() { 
    $("#<%=button1.ClientID %>").click(function() { 
     $("#<%=div1.ClientID %>").fadeOut(); 
    }); 
}); 

它说, “DIV1” 不存在(虽然它的确)

回答

0

你不需要这个

button1.Attributes.Add("onclick", "alert(\"hello\")"); 

请检查以下的代码。

<script type="text/javascript"> 
$(document).ready(function() { 

    //client id************ 
    $("#<%=button1.ClientID %>").click(function(event){ 
     alert("Hello world!"); 
    }); 
    }); 
</script> 

它会工作。如果你在浏览器中检查你的HTML源代码,你会看到button1被改变了。如果你使用clientid,你将解决你的问题

+1

只是做一个额外的评论:OP也可以在页面顶部的Page指令中使用ClientMode属性。例如。 ClientIDMode =“Static”..另外,请不要忘记在jQuery click事件处理程序中返回false以防止回发到服务器。 –

+0

请检查我对我的问题所做的修改。如果你能帮助我,我会非常感谢; –

+0

好的,非常感谢)=) –