ASP.NET AJAX 中,用 JavaScript 调用服务器端的方法
这里不是指调用简单的 PageMethod,因为静态方法是不能操作当前页面的控件的,所以静态的 PageMethod 作用就跟普通的 WebService 一样,比较局限。
那么,调用一般的服务器端方法,其实就是发起一个异步回调。最简单的实现办法,是通过 UpdatePanel 来做。
首先定义一个隐藏的 LinkButton,在其处理事件中,去调用我们要执行的操作:
<asp:LinkButton ID="linkUpdatePosts" runat="server" style="display:'none';" OnClick
="linkUpdatePosts_Clicked" />
// 刷新帖子列表(供客户端 js 调用)
protected void linkUpdatePosts_Clicked(object sender, EventArgs e)
{
LoadPosts();
}
然后 JavaScript 中就可以定义函数来触发这个 LinkButton 的回发:
// 刷新帖子列表
function refreshPosts() {
__doPostBack('<%= linkUpdatePosts.UniqueID %>', '');
}
相关文档:
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......
JSON => String:
function jsonToString(obj){
var THIS = this;
switch(typeof(obj)){
case 'string':
return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';
case 'array':
return '[' + obj.map(THIS.jsonToStri ......
1. <script language="LiveScript">
document.write("这是以 JavaScript 印出的!")
</script>
2. <script language="LiveScrip ......
这种新式的技术最先由jQuery搞出来的,接着Prototype与mootools都支持了。这技术兴起的原因是浏览器嗅探技术是不太可靠,如UserAgent很容易被伪造,如IE8的UserAgent就把许多浏览器的关键字包含进去,造成辩识困难。其他一些重要辩识手段,由于浏览器厂商对旧版本的升级与不断推进新版本,许多都无效了。由于浏览器种类越来 ......
在Asp.net中,从A页面中弹出B页面,在B页面中选择数据后,关闭并将数据更新到A页面,是一种常用的方式。只是我对Javascript不熟悉,所以捣鼓了一下午,终于有了一点成绩。
测试项目有两个页面:Default.aspx及Default2.aspx,在Default.aspx页面上有一个TextBox1及一个Button1,Button1用于触发Default2.aspx,TextBox ......