博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Javascript调用asp.Net后台代码
阅读量:5369 次
发布时间:2019-06-15

本文共 984 字,大约阅读时间需要 3 分钟。

用.Net 做网站的童鞋,经常会遇到要用javascript调用后台方法或变量的情况。但有时候就莫名其妙的行不通,我今天试验了一下,总结出几点,欢迎大家拍砖。

首先呢,写一个简单的获取后台方法的例子:

  <style type="text/css">

      function aa(){

           //alert("<%=a%>");  //调用变量

           alert("<%=aaa()%>"); //调用方法

       }

  </style>

后台代码:

   public string a="1"; //注意一定要是public的,下同

   public string aaa(){

      Random rand=new Random();

          a=rand.Next().toString();

      return a;

      }

 

重点来了,如果你用的是Html 的<input > 控件,比如<input type="button" value="btn1" οnclick="aa()"> 吧,那么运行后,你会发现alert的总是同一个值(但不是1 )。你是否会这样想:难道它只有在登陆的时候调用一次aa()方法?

答案是NO!

本人拙见,因为aaa()方法是在后台写的,也就是在服务器端,那么只有在向服务器发出请求后才会获得新的a数据,否则,本地缓存的就a值就一直保持为刚登陆页面时的值。

所以,要想重新刷新页面获取新值,就应该用asp控件,但需要提醒大家注意的是,<asp:Button Text="btn2" runet="server" onclientclick="aa()">调用的是onclientclick属性,而非onclick方法。

另外,我们想用javascript调用后台值或方法,通常是不想刷新页面的,因为页面一旦刷新,一些我们需要的值可能就恢复默认值了。所以,个人认为,javascript调用后台值或方法只适合部分需求。

 

如果你需要的值已经在当前页面的控件属性存在,并且只是获取客户端操作的值,那么就应该用前台javascript代码。

如果你需要的值要与服务器交互,或者需要获取服务器端的新值,那么就用后台代码,毕竟后台代码写起来方便。

 

 

转载于:https://www.cnblogs.com/jying/archive/2012/12/31/2840877.html

你可能感兴趣的文章
Field Security Profile Helper
查看>>
作业一
查看>>
移动硬盘安装win7,蓝屏,0x0000007B
查看>>
视频瞳孔跟踪之星团模型
查看>>
UIEvent
查看>>
mvc 那么反问,如果是你,怎么用jdbc处理
查看>>
简析多级指针解引用【转 http://tonybai.com/2013/03/23/multi-dimension-pointer-in-c/】
查看>>
Python 让PIP源使用国内镜像,提升下载速度和安装成功率
查看>>
运维自动化之7 - 基于keepalived实现高可用集群
查看>>
POJ 2596 Dice Stacking
查看>>
datarow
查看>>
C#获取web.config配置文件内容
查看>>
MVC Html.AntiForgeryToken() 防止CSRF攻击
查看>>
LAMP环境搭建
查看>>
如何查看ubuntu系统版本信息
查看>>
Linux下常用命令
查看>>
sql2000新建登陆用户错误“21002:[SQL-DMO] 用户***已经存在”的原因和解决方法【孤立用户解决方法】...
查看>>
Dapper多表查询
查看>>
轻松搭建CAS 5.x系列(4)-Java客户端程序接入CAS单点登录,Hello World版
查看>>
安卓C++代码crash时获取栈信息
查看>>