网页中的动态控件和静态控件

        这个事件源于一个偶然,在小编开发一个网页上的类似计算器的网页的时候,出现了问题,就是想要做出来一个扩展键盘的效果,但是用asp.net的控件加上了Jqurey的动态效果之后,没有什么反应,用FireBug单步调试才出现了结果,原来就是因为ASP.net控件是可以向后台发消息的控件,发送消息了之后会刷新界面,所以用Jqurey做的效果就被掩盖了。




一、开始的思路


       既然是ASP.NET控件的问题,那么就不用他,改用HTML的控件不就行了吗?然后就开始了漫长的换控件的过程,最后换好了,发现按钮的点击事件全部都不起作用了,原因就是HTML控件的onclick事件是不会触发后台CS文件写的方法的,这就有了一个问题,怎么才能调用后台代码呢,这个时候就引入了JS和AJAX了。


二、AJAX的思路


        首先,HTML控件的触发函数只能是JS中的函数,所以我就在页面上写了一个函数来作测试,成功!然后接着拼接Ajax的代码,调用后台写好的方法,结果发现怎么样都是不行的:

$.AJAX({
       type:"Post",
       url:TempCoast.cs/btn6Fun,
       success:function(data){
                if(data==true){
                      alert("成功!");
                 }
      }
})

        但是怎么都执行不成功,用FireBug发现到了url那里就显示访问地址错误,或者找不到方法,这是什么问题呢?经过我的观察,网上的例子中的后台方法都是静态的,所以就加了一个静态的方法上去,结果就是成功的,虽然返回的东西不知是什么,但是成功执行了,还是感到很欣慰,可以还有一个问题,就是计算器有20多个键,怎么去写呢,一个一个写吗?况且返回值是不行的,由于后台的静态方法是不能调用前台控件的,所以只能通过AJAX里面的语句再赋值才可以。这样一来结构复杂,逻辑很是乱,所以就否决了这个方法。


三、ASP.NET控件拯救ASP.NET控件


        时间到了第二天,又是这个界面,我们查了一下发现ASP.NET控件变化不会随着刷新而刷新,所以,调出的按钮也都用ASP.net的,所以又研究了一下asp.NET中的Menu控件,这样的控件也是ASP.NET的,触发的事件是和HTML有区别的,所以界面就不会变化了,用的JS和AJAX也就被抛弃了。


四、总结


        敲了这个前台的东西,才感觉到ASP.ENT的控件是如此的强大,有了后台的支持,前台的功能好实现了很多,但是又有了不美观和不灵活的缺点,但是网上的第三方的ASP.NET的控件也有不少了。所以ASP.ENT是很强大的,但是HTML的灵活性也不能小瞧,所以在界面的设计上我们需要学习的东西还有很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值