全部:
我们正在使用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"文件,这个问题似乎就消失了。我没有找到任何关于这方面的文章,只是想"为什么不呢"。
很抱歉打扰你了。