日期:2014-05-18  浏览次数:20486 次

无刷新更新
不知道各位有没有去过cnbeta.com?
在cnbeta中发表完评论的时候,它只是在面尾添加评论而不用刷新,
这个在asp.net中怎样实现?
希望各位能给出答案(代码),如果满意的话我会加分加到100分。

------解决方案--------------------
看看ajax就知道,不是不刷新,应该叫局部刷新
------解决方案--------------------
是ajax技术
------解决方案--------------------
ajax 托一个UpdatePannel,是最简单的实现方式。
------解决方案--------------------
探讨
看看ajax就知道,不是不刷新,应该叫局部刷新

------解决方案--------------------
微软的ajax就是最简单的了
------解决方案--------------------
方法一.AjaxPro的使用


1.在项目中添加引用,浏览找到AjaxPro.2.dll文件

2.在Web.config中的system.web里面写入以下代码
</configuration>
<system.web>
<httpHandlers>
<add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
</system.web>
<//configuration>

3.在加载事件中,加入
AjaxPro.Utility.RegisterTypeForAjax(typeof(类名));

4.写的方法都要用
 [AjaxPro.AjaxMethod]开头,然后在写方法

5.调用时必须写清楚
 命名空间名.类名.方法,例:WebUI._Default.getData();

6.调用可分两中方法(同步调用,异步调用)
 
//在后台写的无参方法
[AjaxPro.AjaxMethod]
public string getStr()
{
return "hello my friends";
}
//在后台写的有参方法
 [AjaxPro.AjaxMethod]
public string getString(string str)
{
return str + "Say: hello my friends";
}

a.同步调用
 (1).拖入html控件button
 (2).双击,自动显示在.aspx的脚本中
 (3).在里面写入你要输入的内容
 例:
//------------------同步调用无参-----------
function Button1_onclick() 
{
var res=WebUI._Default.getStr();
alert(res.value);

  
//------------------同步调用有参------------
function Button2_onclick() //TextBox1为服务器控件
{
var str=document.getElementById("<%=TextBox1.ClientID%>").value;
var res=WebUI._Default.getStr(str);
alert(res.value);
}


b.异步调用
 (1).拖入html控件button
 (2).双击,自动显示在.aspx的脚本中
 (3).在里面写入你要输入的内容
 例:
//-----------------异步调用无参-----------------
function Button3_onclick() {
WebUI._Default.getStr(getStrCallBack);
}
function getStrCallBack(res)
{
alert(res.value);
}
//-----------------异步调用有参-----------------
function Button4_onclick() {
var str=document.getElementById("<%=TextBox1.ClientID %>").value;
WebUI._Default.getString(str,getStringCallBack);
}
function getStringCallBack(res)
{
alert(res.value);
}

7.调用对象

//对象
[AjaxPro.AjaxMethod]
public Class getClass()
{
Class cla = new Class();
cla.C_Id = 100;
cla.C_Name = "34班";
cla.Count = 20;
return cla;
}
//------------------同步调用对象-----------
function Button5_onclick() {
var res=WebUI._Default.getClass().value;
alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count);
}
//------------------异步调用对象-----------
function Button6_onclick() {
WebUI._Default.getClass(getClassCallBack);
}
function getClassCallBack(clas)
{
var res=clas.value;
alert("班级编号:"+res.C_Id+"名称:"+res.C_Name+"人数:"+res.Count);
}


8.数据集的使用
 //方法
[AjaxPro.AjaxMethod]
public DataSet getInfo()
{
return WebUI.GetDataSet.getList();
}

//--------------------异步调用数据集--------------
function Button8_onclick() {
WebUI._Default