如何只对一个 Gridview 使用 OutputCache?
How can I use OutputCache for just one Gridview?
我的页面上几乎没有网格视图。页面打开时数据源必须 运行,所以我不能对整个页面使用 OutputCache。
但是1个Gridview并不重要,查询也很慢。这就是为什么我需要缓存它。 1 小时/1 次查询对我来说没问题。
我的联系人:
try
{
OleDbConnection Connection1;
using (Connection1 = new OleDbConnection("Provider=MSDAORA.1;Data Source=DATABASE:1521/orcl;Persist Security Info=True;Password=PASSWORD;User ID=USERNAME;"))
{
string sqlQuery = "select * from TABLE";
using (OleDbDataAdapter cmd = new OleDbDataAdapter(sqlQuery, Connection1))
{
Connection1.Open();
DataTable dt = new DataTable();
cmd.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
Connection1.Close();
}
}
}
catch (Exception)
{
}
如何只缓存 1 个连接?
我可以只对 1 个 Gridview 使用 OutputCache 吗?
我需要从连接端缓存吗?
使用用户控件缓存部分页面
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyUserControl.ascx.cs" Inherits="WhosebugQuestions.UserControl.MyUserControl" %>
<<%@ OutputCache Duration="3600" VaryByParam="none" %>
<asp:GridView ID="gvCache" runat="server"></asp:GridView>
将您的代码放入 code behinf .cs 文件中 page_load
protected void Page_Load(object sender, EventArgs e)
{
//your code here
}
像这样在您的页面中使用用户控件
注册用户控件
<%@ Register TagName="UserControl" TagPrefix="uc" Src="~/UserControl/MyUserControl.ascx" %>
并像这样使用它
<div>
<uc:UserControl runat="server" />
</div>
我的页面上几乎没有网格视图。页面打开时数据源必须 运行,所以我不能对整个页面使用 OutputCache。
但是1个Gridview并不重要,查询也很慢。这就是为什么我需要缓存它。 1 小时/1 次查询对我来说没问题。
我的联系人:
try
{
OleDbConnection Connection1;
using (Connection1 = new OleDbConnection("Provider=MSDAORA.1;Data Source=DATABASE:1521/orcl;Persist Security Info=True;Password=PASSWORD;User ID=USERNAME;"))
{
string sqlQuery = "select * from TABLE";
using (OleDbDataAdapter cmd = new OleDbDataAdapter(sqlQuery, Connection1))
{
Connection1.Open();
DataTable dt = new DataTable();
cmd.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
Connection1.Close();
}
}
}
catch (Exception)
{
}
如何只缓存 1 个连接?
我可以只对 1 个 Gridview 使用 OutputCache 吗?
我需要从连接端缓存吗?
使用用户控件缓存部分页面
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyUserControl.ascx.cs" Inherits="WhosebugQuestions.UserControl.MyUserControl" %>
<<%@ OutputCache Duration="3600" VaryByParam="none" %>
<asp:GridView ID="gvCache" runat="server"></asp:GridView>
将您的代码放入 code behinf .cs 文件中 page_load
protected void Page_Load(object sender, EventArgs e)
{
//your code here
}
像这样在您的页面中使用用户控件
注册用户控件
<%@ Register TagName="UserControl" TagPrefix="uc" Src="~/UserControl/MyUserControl.ascx" %>
并像这样使用它
<div>
<uc:UserControl runat="server" />
</div>