gpt4 book ai didi

c# - 在 ASP.NET 中缓存用户控件?

转载 作者:太空狗 更新时间:2023-10-29 20:06:40 24 4
gpt4 key购买 nike

我在我的应用程序“header.ascx”中创建了一个用户控件,我将一个 selectedMenu 属性传递给该控件,该控件在该控件上选择指定的 selectedMenu 值。假设,我传递了值“home”或“search”,然后它将选择(突出显示)搜索菜单。

我想缓存这个控件,当 selectedMenu 属性的值改变时,只有缓存会被刷新,否则它应该从缓存中获取控件??

是否可以在 asp.net 中缓存用户控件?我正在使用 ASP.NET 2.0 (C#)

最佳答案

ASP.NET 中的用户控件缓存称为 fragment caching .这是通过在页面顶部添加一个 OutputCache 指令来完成的:

您不能通过设置控件的属性来改变缓存,因为如果在缓存中找到控件,则实际上并没有创建该控件。如果您尝试在其缓存后的代码中访问该控件,它将为空。

确定控件是否应该被缓存的条件是否可以通过查看当前请求来确定?如果是,您可以使用输出缓存指令的 varybycustom 属性 ( http://msdn.microsoft.com/en-us/library/system.web.ui.partialcachingattribute.varybycustom.aspx )。您可以将任何您想要的字符串作为参数放入其中,然后在评估缓存时 GetVaryByCustomString() method from Global.asxa将被调用,您可以将是否应缓存控件的逻辑放在那里。

关于c# - 在 ASP.NET 中缓存用户控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/568837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com