MVC缓存问题(可能)-对象偶尔出现



全部:

我们正在使用MVC 4.0,我花了很长时间才弄清楚是什么导致了这种情况。

我有以下代码:

@using (Html.BeginAccordionPanel("Cancelled Reason", "pnlCancelledReason"))
   {
       @Html.Partial("~/Views/Project_View/Tracking/_CancelledReason.cshtml", Model) 
   }

如果我导航到页面以显示上面的代码,我的面板(以及里面的对象)将不会出现。但是,如果我附加任何HTML并刷新页面,对象就会突然出现。如果我停止调试,重新启动它并导航到页面,上面的内容将不再出现,但如果我删除添加的HTML,对象将再次出现。

我发现了一些关于清理.Net缓存和VS缓存的各种地方的文章,我仍然遇到这个问题。

我还补充道[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]到我的ActionResult,并且仍然遇到问题。

这个页面上总共有大约10个部分使用了与上面非常相似的代码(只是更改了视图的标题和路径)。除了我要问的那个问题外,他们都工作得很顺利。

当我说"…附加任何HTML…"时,这就是我的意思:

@using (Html.BeginAccordionPanel("Cancelled Reason", "pnlCancelledReason")) { @Html.Partial("~/Views/Project_View/Tracking/_CancelledReason.cshtml", Model) <b></b> }

正如您在这个例子中看到的,我所做的只是在末尾添加一些HTML,然后面板就会出现,直到我再次停止/启动。

我在玩的时候注意到,当我在DEBUG模式下运行时,显示您所在行的黄色行似乎没有突出显示整个@Html.Partial行,但在该行的80%处停止,但在我执行上面的操作之前,不会对视图中的任何其他行执行此操作(附加Html)

花了两天时间研究这个问题,不知道为什么,但如果我从Visual Studio中删除".generated.cs"文件,这个问题似乎就消失了。我没有找到任何关于这方面的文章,只是想"为什么不呢"。

很抱歉打扰你了。

最新更新