惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
博客园 - 叶小钗
GbyAI
GbyAI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
T
Tailwind CSS Blog
S
SegmentFault 最新的问题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
N
Netflix TechBlog - Medium
B
Blog
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
V2EX
雷峰网
雷峰网
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理

博客园 - BB_Coder

rsync --include-from --exclude-from的理解 CruiseControl 安装配置 使用Common.Logging+log4net规范日志管理 我也表达式一回 sqlserver2005系统表、视图研究2 三种SQL分页方法性能分析 SQLServer2005新分页方法 关于SQLServer的小技巧 应该多了解一些工具 正则表达式网上学习资料 关于onMouseOver出现提示文字的多行处理办法 验证码缓存问题完美解决方案 由于登录失败而无法启动服务的解决方案 邮件发送不成功的问题 最近项目是跟框架有关的两个问题 自己写的一些小函数.用正则表达式实现一些小功能~ 数据库还原后连接不上 未与信任 SQL Server 连接相关联 IIS配置问题:出现了Failed to access IIS metabase的错误
用最简单的方法实现Ajax - BB_Coder - 博客园
BB_Coder · 2007-07-18 · via 博客园 - BB_Coder

Aspx文件:

    <script type="text/javascript">
    
function callToServer()
    

     
var param = document.getElementById("txtMessage").value + "&pa"+document.getElementById("a").value;
     
var context = ""
     document.getElementById(
"a").value = document.getElementById("a").value;
//     WebForm_InitCallback();
     <% = callbackScript %>
    }

 
     
function handleResultFromServer(result)
     

        document.getElementById(
"txtResult").innerHTML = result;
     }

     
</script>
    
<form id="form1" runat="server">
    
<div><INPUT id="txtMessage" />
    a
<input id="a" name="a" />
    
<INPUT onclick="callToServer();" type="button" value="Call to Server" />
    
<br />
    
<span style="color:#ff0000"></span>
    Result : 
    
<div id="txtResult"></div>
    
</div>
    
</form>

Aspx.cs文件:


public partial class Test : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
    
protected string callbackScript
    
{
        
get
        
{
            ClientScriptManager cm 
= Page.ClientScript;
            
//return this.GetCallbackEventReference(this, "param", "handleResultFromServer", "context");
            return cm.GetCallbackEventReference(this"param""handleResultFromServer""context");
        }

    }

    
private string arg = "";

    
protected void Page_Load(object sender, EventArgs e)
    
{
    }

    
public void RaiseCallbackEvent(string eventArgument)
    
{
        arg 
= eventArgument + Request["a"];
        
for (int i = 0; i < Request.Params.Count; i++)
        
{
            arg 
+= "Name:" + Request.Params.GetKey(i) +":Value:<span style=\"color:#ff0000\">" + Request.Params[i] + "</span><br/>";
        }

    }

    
public string GetCallbackResult()
    
{
        
return "客户端在[" + DateTime.Now.ToString() + "]传送来 [" + arg + "].";
    }

}

这里主要是用到了Asp.net自带的 System.Web.UI.ICallbackEventHandler接口。
实现的这个接口的控件(包括页面)都可以以异步的方式用服务器发送数据。还可以设置一个回调函数。这个方法有两个局限:函数的返回类型只能是字符串类型。方法只有一个参数(可以通过分割字符串实现多个参数,但不安全。)