在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
可以用以下两种方法改变到缓存的用户控件输出:指定用户控件名称以及查询字符串或窗体 POST 参数,或指定用户控件中所包含的 ASP.NET 服务器控件的 ID 属性。对于前者,使用@ OutputCache 指令的 VaryByParam 属性或将 VaryByParams 属性包括在位于用户控件代码隐藏文件的 PartialCachingAttribute 中。对于后者,使用 VaryByControl 属性或将 VaryByControls 属性包括在 PartialCachingAttribute 中。 注意 仅当用户控件回发并自行处理回发时,根据查询字符串或窗体 POST 参数改变到缓存的用户控件输出才有效。您不能回发到包含页并预期这种类型的用户控件输出缓存正常运行。 通过使用 VaryByControl 属性以声明方式缓存用户控件的多个版本
通过使用 VaryByControls 属性以编程方式缓存用户控件的多个版本
通过使用 VaryByParam 属性以声明方式缓存用户控件的多个版本
通过使用 VaryByParams 属性以编程方式缓存用户控件的多个版本
下面的示例通过将 ServerClick 事件的代码包括在控件的代码声明块中,演示回发到自身的用户控件。它还演示如何根据与用户控件中包含的两个 DropDownList Web 服务器控件关联的 [sample.ascx] [C#] <%@ Control Language="C#" %> <%@ OutputCache Duration="30" VaryByControl="State;Country" Shared="true" %> <%@ import namespace="System.Globalization"%> <script runat=server> void SubmitBtn_Click(Object Sender, EventArgs e) { Label1.Text="You chose: " + state.SelectedItem.Text + " and " + country.SelectedItem.Text; TimeMsg.Text = DateTime.Now.ToString("T"); } </script> <asp:DropDownList > <asp:ListItem> </asp:ListItem> <asp:ListItem>Idaho</asp:ListItem> <asp:ListItem>Montana</asp:ListItem> <asp:ListItem>Nevada</asp:ListItem> <asp:ListItem>Oregon</asp:ListItem> <asp:ListItem>Washington</asp:ListItem> <asp:ListItem>Wyoming</asp:ListItem> </asp:DropDownList> <br> <asp:DropDownList > <asp:ListItem> </asp:ListItem> <asp:ListItem>Austria</asp:ListItem> <asp:ListItem>France</asp:ListItem> <asp:ListItem>Italy</asp:ListItem> <asp:ListItem>Germany</asp:ListItem> <asp:ListItem>Spain</asp:ListItem> <asp:ListItem>Switzerland</asp:ListItem> </asp:DropDownList> <br> <asp:button text="Submit" OnClick="SubmitBtn_Click" runat=server/> <br> <asp:Label id=Label1 font-name="Verdana" font-size="10pt" runat="server"> Select values from the lists </asp:Label> <br> <br> Control generated at: <asp:label /> [Visual Basic] <%@ Language="VB" %> <%@ OutputCache Duration="30" VaryByControl="State;Country" Shared="true" %> <%@ import namespace="System.Globalization"%> <script runat=server> Sub SubmitBtn_Click(Sender as Object, e as EventArgs) Label1.Text="You chose: " & state.SelectedItem.Text & " and " & country.SelectedItem.Text TimeMsg.Text = DateTime.Now.ToString("T") End Sub </script> <asp:DropDownList id=state runat="server"> <asp:ListItem> </asp:ListItem> <asp:ListItem>Idaho</asp:ListItem> <asp:ListItem>Montana</asp:ListItem> <asp:ListItem>Nevada</asp:ListItem> <asp:ListItem>Oregon</asp:ListItem> <asp:ListItem>Washington</asp:ListItem> <asp:ListItem>Wyoming</asp:ListItem> </asp:DropDownList> <br> <asp:DropDownList id=country runat="server"> <asp:ListItem> </asp:ListItem> <asp:ListItem>Austria</asp:ListItem> <asp:ListItem>France</asp:ListItem> <asp:ListItem>Italy</asp:ListItem> <asp:ListItem>Germany</asp:ListItem> <asp:ListItem>Spain</asp:ListItem> <asp:ListItem>Switzerland</asp:ListItem> </asp:DropDownList> <br> <asp:button text="Submit" OnClick="SubmitBtn_Click" runat=server/> <br> <asp:Label id=Label1 font-name="Verdana" font-size="10pt" runat="server"> Select values from the lists </asp:Label> <br> <br> Control generated at: <asp:label /> </script> [sample.aspx] <%@ Register TagPrefix="Sample" TagName="Places" Src="sample.ascx" %> <form runat=server> <Sample:Places runat=server /> </form> |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论