小编MuK*_*uKa的帖子

在MVC 3中禁用部分视图上的缓存

我有一个部分View被缓存的问题,当它不应该被缓存.此部分视图用于显示页面上的登录/注销.它使用下面的简单代码来确定要显示的链接

@if(Request.IsAuthenticated) {    
    <a href="@Url.Action("LogOff", "Account", new { area = "" })">Log Off</a> 
}
else {
    <a href="@Url.Action("LogOn", "Account", new { area = "" })">Log On</a>
}
Run Code Online (Sandbox Code Playgroud)

使用我的MVC3应用程序中的所有页面调用此部分视图

@Html.Partial("_HeaderView")  
Run Code Online (Sandbox Code Playgroud)

在我的大多数控制器中,我定义了输出缓存,因此我可以利用缓存内容.

[OutputCache(Duration = 86400, VaryByParam = "*")]
Run Code Online (Sandbox Code Playgroud)

现在我的问题是,当我不想要部分视图时,整个页面都被缓存了.这导致了错误的行为,即使用户没有登录,它有时会显示LogOff等.有没有办法缓存所有内容,除了有问题的部分视图?

c# caching outputcache partial-views asp.net-mvc-3

20
推荐指数
2
解决办法
3万
查看次数

无法在 Visual Studio 2015 Nuget 包管理器中安装包“Microsoft.AspNet.Razor 3.2.3”

我尝试了以下方法:

  1. 我正在尝试在 VS Community 2015 中打开在 VS 2010(pluralsight 练习)中创建的代码集。

  2. System.Web.Mvc 引用出现错误,因此代码无法编译。我尝试将 NuGet Microsoft.AspNet.MVC 更新到当前版本 - 5.2.3 并收到以下错误:

无法安装包“Microsoft.AspNet.Razor 3.2.3”。您正在尝试将此包安装到以“.NETFramework,Version=v4.0”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系软件包作者。

  1. 我删除了代码集并重新尝试了上述步骤并仅增量更新 NuGets 直到以下并成功编译解决方案。

Microsoft.AspNet.MVC v4.0.40804

Microsoft.AspNet.Razor v2.0.30506

Microsoft.AspNet.Webpages v2.0.20710

我想知道如何将 NuGets 更新到最新的稳定版本。

asp.net-mvc visual-studio-2010 razor visual-studio-2015

5
推荐指数
1
解决办法
9120
查看次数