我用AjaxPro,后台代码
[AjaxPro.AjaxMethod]
private string ShowData()
{
string sql="select * from "+TableName+(sefileid!=0?" where SEFile_ID="+sefileid:""); DataTable dt=db.OpenTable(sql);
dgData.DataSource=dt;
dgData.DataBind(); System.Text.StringBuilder sb=new System.Text.StringBuilder();
System.IO.StringWriter sw=new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter htw=new HtmlTextWriter(sw); dgData.RenderControl(htw);
string s=sb.ToString();
return s;前台代码
function Call_Show()
{
var cc=document.getElementById("dgData");
cc.innerHTML=SEFile.ShowData().value;
}
function Call_Server()
{
SEFile_ShowData();
Call_Show();
}我怎么定时刷新DataGrid??
我用window.onload=setInterval("Call_Server()",1000);setTimtOut都不行 提示网页有错误??该怎么解决
[AjaxPro.AjaxMethod]
private string ShowData()
{
string sql="select * from "+TableName+(sefileid!=0?" where SEFile_ID="+sefileid:""); DataTable dt=db.OpenTable(sql);
dgData.DataSource=dt;
dgData.DataBind(); System.Text.StringBuilder sb=new System.Text.StringBuilder();
System.IO.StringWriter sw=new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter htw=new HtmlTextWriter(sw); dgData.RenderControl(htw);
string s=sb.ToString();
return s;前台代码
function Call_Show()
{
var cc=document.getElementById("dgData");
cc.innerHTML=SEFile.ShowData().value;
}
function Call_Server()
{
SEFile_ShowData();
Call_Show();
}我怎么定时刷新DataGrid??
我用window.onload=setInterval("Call_Server()",1000);setTimtOut都不行 提示网页有错误??该怎么解决
js:
<script>
function beginrefresh()
{
__doPostBack('LinkBut','s');
}
setTimeout("beginrefresh()",1000)
</script>cs:
private void LinkBut_Click(object sender, System.EventArgs e)
{
if(Request["__EVENTARGUMENT" ]=="s")
{
this.Data();
//Page.RegisterStartupScript("alert", "<script>window.alert('fsd')</script>");
}
}
setInterval("Call_Server()",1000);就不行我在刷新时执行了Call_Server(),但DataGrid的数据还没变 现在没实际体现出ajax的好,最近在看ajax实战.看这本书不错."站在巨人的肩膀上"
不明白
nowkok(第一桶金很难)
我该成public 还不行 再不行 我要放弃了
怎么提示未定义
function showData_callback(response)
{
var cc=document.getElementById("dgData");
cc.innerHTML=response.value;
}
function Call_Server()
{
SE.BasicSettings.SEFile.ShowData(showData_callback);
//se我的项目名 BasicSettings文件夹 SEFile是页面 ShowData 方法 }
window.onload=window.setInterval("Call_Server()",1000);后台是这样写的
AjaxPro.Utility.RegisterTypeForAjax(typeof(SEFile));提示SE未定义
1.添加ajaxpro.dll,这不会错吧.
2.在web.config中配置如下:
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro"/>
</httpHandlers>
3.在页面写ajax服务器方法
[AjaxPro.AjaxMethod]
public string ShowData()
{
string sql="select * from client";
DataSet ds=db.OpenDataSet(sql);
dgData.DataSource=ds;
dgData.DataBind(); System.Text.StringBuilder sb=new System.Text.StringBuilder();
System.IO.StringWriter sw=new System.IO.StringWriter(sb);
System.Web.UI.HtmlTextWriter htw=new HtmlTextWriter(sw); dgData.RenderControl(htw);
string s=sb.ToString();
return s;
}
在Page_Load中写
AjaxPro.Utility.RegisterTypeForAjax(typeof(LX01));前台JS:function showData_callback(response)
{
var cc=document.getElementById("dgData");
cc.innerHTML=response.value;
}
function call_server()
{
example4._0115.LX01.ShowData(showData_callback);
}//example是我的项目名,0115是文件夹,ShowData是Ajax服务器方法
怎么还提示example4未定义呢?
http://fenglin.xland.cn
------------------------
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;namespace MyAJAX
{
/// <summary>
///
/// </summary>
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(MyAJAX.Test));
} [AjaxPro.AjaxMethod()]
public void GetSubCategory(int iCategoryID)
{
Random rand = new Random();
SqlConnection conn = null; try
{
conn = new SqlConnection("Data Source=(local); User ID=sa;Password=hztsa; Initial Catalog=test");
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = string.Format("Update Video Set DownLoadCount = DownLoadCount + 1");
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
string str = ex.Message;
}
finally
{
if (conn != null && conn.State != ConnectionState.Closed)
{
conn.Close();
}
} string[] testStr = new string[10000];
for (int i = 0; i < testStr.Length; i++)
{
testStr[i] = "fdd";
} // System.Threading.Thread.Sleep(500 + rand.Next(1000)); }
}
}
页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="MyAJAX.Test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<a href="#" onclick="javascript:AddDownLoad();">下载</a>
</form>
<script>
function AddDownLoad() {
// 方法GetSubCategory是在后台中被声明为AjaxMethod()的方法.
// 在方法GetSubCategory所有的参数后面,再多加上一个方法名GetSubCategory_backcall做参数,
// 如果方法GetSubCategory有返回值,它的返回值将被赋给方法GetSubCategory_backcall的第一个参数
MyAJAX.Test.GetSubCategory(5,GetSubCategory_backcall);
}
// 此方法的名称是任意的,参数的个数和名称也是任意的,但AJAX方法的
// 返回值只会被赋给第一个参数
function GetSubCategory_backcall(response)
{
var dt = response.value;
alert(dt);
}
</script>
</body>
</html>
<!--
メモ: このファイルを手動で編集する代わりに、Web 管理ツールを使用
してアプリケーションの設定を構成することができます。Visual Studio
の [Web サイト] メニューにある [ASP.NET 構成] オプションから設定
を行ってください。設定およびコマンドの一覧は、通常
\Windows\Microsoft.Net\Framework\v2.x\Config にある
machine.config.comments で確認できます。
-->
<configuration>
<appSettings>
<add key="connectionStr" value="Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa;Password=hztsa; Initial Catalog=test"/>
</appSettings>
<connectionStrings/>
<system.web>
<!--
デバッグ シンボルをコンパイルされたページに挿入するに
は、compilation debug="true" に設定します。この設
定はパフォーマンスに影響するため、開発時のみこの値
を true に設定してください。
-->
<compilation debug="true"/>
<!--
<authentication> セクションは、ユーザーを識別するため
に、ASP.NET で使用されるセキュリティ認証モードの構成
を有効にします。
-->
<authentication mode="Windows"/>
<!--
<customErrors> セクションは、要求の実行中にハンドル
されていないエラーが発生した場合の処理方法の構成を
有効にします。具体的には、開発者が HTML エラー ペ
ージをスタック トレースのエラーの代わりに表示するように構
成することを可能にします。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<httpHandlers> <!-- 声明此节点才能使用AJAX -->
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/> </httpHandlers> </system.web>
</configuration>
而且会提示“未知的运行错误”,当<head runat=server>时,没那个错误,但是当你进行数据修改后还会提示“未知的运行错误”,而且DataGrid也不会刷新。看来AjaxPro并没有达到我想要的效果!