为什么Ajax控件UpdatePancel每次刷新都要重新加载页面?我的想发是第一次打开页面的时候加载Page_Load事件,之后UpdatePancel的刷新不加载Page_Load事件,我把代码贴出来,大家帮我看看:using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Data.SqlClient;namespace ss
{
public partial class WebForm2 : System.Web.UI.Page
{
public static DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["SF"] != null)
{
GetTable();
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
} protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression.ToString(); // 假定为排序方向为“顺序”
string sortDirection = "ASC"; // “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
if (sortExpression == this.GridView1.Attributes["SortExpression"])
{
//获得下一次的排序状态
sortDirection = (this.GridView1.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
} // 重新设定GridView排序数据列及排序方向
this.GridView1.Attributes["SortExpression"] = sortExpression;
this.GridView1.Attributes["SortDirection"] = sortDirection; this.BindGridView();
} private void BindGridView()
{
// 获取GridView排序数据列及排序方向
string sortExpression = this.GridView1.Attributes["SortExpression"];
string sortDirection = this.GridView1.Attributes["SortDirection"]; // 调用业务数据获取方法
//GetTable2(); // 根据GridView排序数据列及排序方向设置显示的默认数据视图
if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))
{
dt.DefaultView.Sort = string.Format("{0} {1}", sortExpression, sortDirection);
} // GridView绑定并显示数据
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
} private void GetTable()
{
string strCon = "server=10.64.16.19;database=lncmcc_mis;uid=sa;pwd=sa";
SqlConnection con = new SqlConnection(strCon);
SqlDataAdapter adapter = new SqlDataAdapter("select top 200 * from tbl_message_UserMobile order by ID", con);
dt = new DataTable();
adapter.Fill(dt);
con.Close();
con.Dispose();
} private void GetTable2()
{
string strCon = "server=10.64.16.19;database=lncmcc_mis;uid=sa;pwd=sa";
SqlConnection con = new SqlConnection(strCon);
SqlDataAdapter adapter = new SqlDataAdapter("select top 200 * from tbl_message_UserMobile where Mobile = '" + TextBox1.Text + "' order by ID", con);
dt = new DataTable();
adapter.Fill(dt);
con.Close();
con.Dispose();
} protected void Button1_Click(object sender, EventArgs e)
{
GetTable2();
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
高手帮我看看 谢谢!!
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections.Generic;
using System.Data.SqlClient;namespace ss
{
public partial class WebForm2 : System.Web.UI.Page
{
public static DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["SF"] != null)
{
GetTable();
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
} protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
string sortExpression = e.SortExpression.ToString(); // 假定为排序方向为“顺序”
string sortDirection = "ASC"; // “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
if (sortExpression == this.GridView1.Attributes["SortExpression"])
{
//获得下一次的排序状态
sortDirection = (this.GridView1.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
} // 重新设定GridView排序数据列及排序方向
this.GridView1.Attributes["SortExpression"] = sortExpression;
this.GridView1.Attributes["SortDirection"] = sortDirection; this.BindGridView();
} private void BindGridView()
{
// 获取GridView排序数据列及排序方向
string sortExpression = this.GridView1.Attributes["SortExpression"];
string sortDirection = this.GridView1.Attributes["SortDirection"]; // 调用业务数据获取方法
//GetTable2(); // 根据GridView排序数据列及排序方向设置显示的默认数据视图
if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))
{
dt.DefaultView.Sort = string.Format("{0} {1}", sortExpression, sortDirection);
} // GridView绑定并显示数据
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
} private void GetTable()
{
string strCon = "server=10.64.16.19;database=lncmcc_mis;uid=sa;pwd=sa";
SqlConnection con = new SqlConnection(strCon);
SqlDataAdapter adapter = new SqlDataAdapter("select top 200 * from tbl_message_UserMobile order by ID", con);
dt = new DataTable();
adapter.Fill(dt);
con.Close();
con.Dispose();
} private void GetTable2()
{
string strCon = "server=10.64.16.19;database=lncmcc_mis;uid=sa;pwd=sa";
SqlConnection con = new SqlConnection(strCon);
SqlDataAdapter adapter = new SqlDataAdapter("select top 200 * from tbl_message_UserMobile where Mobile = '" + TextBox1.Text + "' order by ID", con);
dt = new DataTable();
adapter.Fill(dt);
con.Close();
con.Dispose();
} protected void Button1_Click(object sender, EventArgs e)
{
GetTable2();
GridView1.DataSource = dt;
GridView1.DataBind();
}
}
}
高手帮我看看 谢谢!!
解决方案 »
- 菜鸟~iframe使用问题
- 无法将数据写入传输连接: 您的主机中的软件中止了一个已建立的连接。。
- 想加上地图接口功能,有什么思路
- 想做一个B/S架构的“即时通讯软件”,有两个技术难点不知道该如何解决,请高手帮助指点一下,谢谢了先!
- 在三层架构中ms的Data Access Application Block for .NET中sqlhelper可以作为数据访问层么?
- 替换图片中的数值
- 如何向listbox里添加一项,而且环要按照一定的顺序添加进去
- 请教各位:在xp里怎么运行asp程序?
- 未将对象引用设置到对象的实例 数据据库操作上的问题
- 关于asp.net 的一些问题,高手解决
- 【请教】去除HTML标签
- 我所在的公司需要一个排课软件,有源码,价格5千,规则是通常的那些规则
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager sm = ScriptManager.GetCurrent(this.Page);
if(!sm.IsInAsyncPostBack)
{
//....
}
}
在WebForm的Page_Load事件中,都需要判断当前form是否是IsPostBack,IsPostBack为true时就不执行绑定数据
updatepanel本来就是重新加载本页面,只是让客户端感到只加载的一部分而已
if (!IsPostBack)
{
GetTable();
GridView1.DataSource = dt;
GridView1.DataBind();
}
红字的代码
if (!IsPostBack)
{
}
里面的代码 之后的UpdatePance刷新都不运行
if (!IsPostBack)
{
}
里面的代码现在的情况是第一次打开的时候运行 当UpdatePance局部刷新的时候也运行了
if (!IsPostBack)
{
}
里面的代码 请各位大侠指点下 谢谢!
if (!IsPostBack)
{
}
里面的代码 本人对Ajax不熟悉 望各位大侠赐教!
AJAX最棒的就是局部刷新,看楼主所述全部刷新了,那还叫什么AJAX呢??
楼主问题可能是在web.config文件,
问一下:如果你是vs2005的话,你建立网站的时候点了"ASP.NET AJAX-Enabled Web Site"这个选项吗?
如果没点,web.config你也没有作改变的话,你想有AJAX的局部刷新效果就见鬼了!!如果你点了"ASP.NET AJAX-Enabled Web Site"这个选项,
页面依次放了ScriptManager;UpdatePanel还没有局部刷新效果,也是见鬼了!!
建议有jqurey,这个也是微软以后在ajax上面推荐的
<Triggers>
<asp:AsyncPostBackTrigger ControlID="你那个按钮的ID"/>或者<asp:PostBackTrigger ControlID=""/>
</Triggers>
这样就应该可以控制按钮的是异步回发 还是 整个回发
我记得好像Button等一些控件自带封装了页面刷新功能的所以你写个这个控制下它 我也不知道到底对不对! 你可以试一试 大家交流一下