代码之家  ›  专栏  ›  技术社区  ›  Steve Wortham

为什么我的asp:substitution控件突然不能在ASP.NET 4.0中工作?

  •  2
  • Steve Wortham  · 技术社区  · 14 年前

    我刚将我的网站从ASP.NET 3.5升级到4.0。我已经经历了一些突破性的变化,而且超出了我的预期。

    但是,我不明白为什么 <asp:Substitution /> 控制突然停止了正常工作。它应该忽略父页面的输出缓存设置,并根据每个请求进行更新。因为某种原因,这不会发生。它正在缓存整个10分钟(我主页的OutputCache设置)。有什么想法吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Levi    14 年前

    <asp:substitution>和其他服务器控件在MVC中不受支持。响应替换尤其复杂地与WebForms管道绑定在一起。事实上,它在MVC 1工作是一个愉快的事故,但不是故意的。

    MVC团队正在研究在MVC 3及更高版本中启用替换缓存的方法,但可能会有MVC特定的机制来实现这一点,因此您不应该期望<asp:substitution>或response.writesubstitution()能够继续工作。同时,最好的选择是输出缓存整个页面,然后使用javascript/ajax让客户机填充需要更新的部分。