首页 新闻 赞助 找找看

asp.net中的服务器控件,如何使用jQuery中的事件?

0
悬赏园豆:10 [已解决问题] 解决于 2014-05-06 19:35

比如说,<asp:button ID="btn_login" runat="server">登录</asp:button>

     $("#btn_login“).click(function(){

alert("hello world!");

});

当点击这个按钮的时候,触发不了这个事件,是怎么回事?

俄小发的主页 俄小发 | 初学一级 | 园豆:175
提问于:2014-05-05 11:09
< >
分享
最佳答案
0

二楼说的是一种方法,还有就是 设置服务端控件 ,设置为静态id,就可以直接$("#btnSave").click(funciton(){alert("hello world!")});

<asp:Button ID="btnSave" runat="server" Text="Button" ClientIDMode="Static" />
收获园豆:10
秋壶冰月 | 大侠五级 |园豆:5903 | 2014-05-05 14:35

我发现一个问题,用vs2012写的就可以出来,但是用vs2010写的就是出不来。有这方面的经验吗?

俄小发 | 园豆:175 (初学一级) | 2014-05-06 11:24

@小玥: vs2010也是可以的,我发的就是用10写的,推测你的项目原先不是10的,后来只是用10开发,framework的版本还是停留在3.5或者3.5之前的版本,要想用clientIdModel就得将framework改为4.0,否则只能为二楼说的方法

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-06 12:03

@秋壶冰月: 我刚才在10里面新建了一个项目,试了一下,还是不行。新建的12的就可以。。。

俄小发 | 园豆:175 (初学一级) | 2014-05-06 13:04

@小玥: 这个就不清楚是什么问题了!但10肯定支持的,你可以试着用12的项目将.net framework改为4.0,试试看看可以不!我没有遇到过这种状况

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-06 13:11

@秋壶冰月: 你看我就是这样写的,是不是哪里有问题?

俄小发 | 园豆:175 (初学一级) | 2014-05-06 13:14

@小玥: 1.可以这样,给button  OnClientClick事件,这个事件如果满足 就return true,否则就return false,return false的时候就不行服务端的后台事件

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="hh();" 
            onclick="Button1_Click"/>


2.可以试着用Jquery validate验证组件,实现验证这一块的功能

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-06 13:31

@秋壶冰月: 可以了,太厉害了,果然是大神啊。我当时是想做一个点击登录的时候,用jQuery UI弹出层实现登录框,但是在后台的时候文本框里面的值一直是空的,获取不到值。虽然我现在不那么做了,我还是想听听你有什么好的想法。交流一下。

俄小发 | 园豆:175 (初学一级) | 2014-05-06 13:39

@小玥: 这个也好做,先把登录的div(用户名、密码、验证码等),简单的 ,可以用textbox实现

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-06 14:05
其他回答(3)
0

不可能,前端是前端,后台是后台,你可以在前端事件中去调用后台方法,以实现你说的触发后台事件.

吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-05 11:20

哎....那样太复杂了,后面还牵扯到很多东西,根本就没法弄....

支持(0) 反对(0) 俄小发 | 园豆:175 (初学一级) | 2014-05-05 11:34
2

因为服务器控件在编译时的ID是会变化的,需要用ClientID获取编译后的ID,这样写:

$("#<%=btn_login.ClientID %>").click(function () {
alert("aaa");
})

七步、 | 园豆:78 (初学一级) | 2014-05-05 11:30

昨天晚上我试过这个方法,可以实现,但是它弹出的这个层一闪而过就没有了....很郁闷

支持(0) 反对(0) 俄小发 | 园豆:175 (初学一级) | 2014-05-05 11:33

@小玥: return false; 就不会一闪而过了

$("#<%=btn_login.ClientID %>").click(function() {
    alert("aaa");
    return false;
})
支持(0) 反对(0) relax | 园豆:113 (初学一级) | 2014-05-05 11:34

@小玥: 为什么我没有一闪而过。。。。

支持(0) 反对(0) 七步、 | 园豆:78 (初学一级) | 2014-05-05 11:37

@七步、: 加上return FALSE?我晚上回去试试.谢了哈~

支持(0) 反对(0) 俄小发 | 园豆:175 (初学一级) | 2014-05-05 13:16

@小玥: 我发现一个问题,用vs2012写的就可以出来,但是用vs2010写的就是出不来。有这方面的经验吗?

支持(0) 反对(0) 俄小发 | 园豆:175 (初学一级) | 2014-05-06 11:24
0

1.理解runat对控件的影响

2..net控件生成代码的原理都搞不懂,就别用控件了。

wongdavid | 园豆:394 (菜鸟二级) | 2014-05-06 13:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册