我需要在点击按钮时刷新页面,但我不想增加点击计数器。基本上,该页面有几个网格,所以我只想在单击“刷新”按钮时刷新这些网格数据,但我不想在刷新时增加点击计数器。
答案 0 :(得分:0)
使用AJAX仅刷新那些网格数据
答案 1 :(得分:0)
您可以使用以下任一方法实现:
答案 2 :(得分:0)
您可以使用UpdatePanel。
ASP.NET UpdatePanel控件使您能够构建以客户端为中心的丰富Web应用程序。通过使用UpdatePanel控件,您可以刷新页面的选定部分,而不是使用回发刷新整个页面。这被称为执行部分页面更新。包含ScriptManager控件和一个或多个UpdatePanel控件的ASP.NET网页可以自动参与部分页面更新,而无需自定义客户端脚本。
http://msdn.microsoft.com/en-us/library/bb399001(v=vs.100).aspx
答案 3 :(得分:0)
首先创建一个长期存储页面:如下所示的counter.xml。
<?xml version="1.0" standalone="yes"?>
<counter>
<count>
<hits>0</hits>
</count>
</counter>
然后打开Global.asax.cs并添加以下内容。
using System;
using System.Data;
using System.Web;
using System.Web.Optimization;
using System.Web.Routing;
namespace YOURNAMESPACE
{
public class Global : HttpApplication
{
//1. Create a lock and a DataSet object.
private static readonly Object lockObj = new object();
private static DataSet dataSet = new DataSet();
void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
//2. Read counter.xml into the dataSet any time the
//application is started. Here counter.xml is in the Application root.
dataSet.ReadXml(Server.MapPath("~/counter.xml"));
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
将Session_Start处理程序添加到该类。 Session_Start仅在创建新会话时运行,而不在刷新页面时运行。
void Session_Start(object sender, EventArgs e)
{
//3. Lock the dataSet to prevent synchronization issues.
lock (lockObj)
{
//4. Increment hits in the dataSet.
dataSet.Tables[0].Rows[0]["hits"] = 1 + int.Parse(dataSet.Tables[0].Rows[0]["hits"].ToString());
//5. Write the new value to the long-term storage, counter.xml
dataSet.WriteXml(Server.MapPath("~/counter.xml"));
}
}
}
}