我已经定义了以下控制器方法,它创建了两个不同的asp.net核心路由(名为route1和route2)。当我使用下面的cshtml时,我希望当我打电话时:
localhost/route1
localhost/route2
我的缓存将被替换,但事实并非如此。
(传入参数{param}不会改变我的预期结果)
控制器页面
[Route("/route1/{param}", Name = "route1")]
public IActionResult Route1(string param)
{
ViewData["Message"] = "route1.";
return View("CacheTagHelper/vary-by-route");
}
[Route("/route2/{param}", Name = "route2")]
public IActionResult Route2(string param)
{
ViewData["Message"] = "route2.";
return View("CacheTagHelper/vary-by-route");
}
查看页面
<Cache vary-by-route="route1,route2">Time Inside Cache Tag Helper : @DateTime.Now</Cache>
答案 0 :(得分:1)
没有路由值键入route1 / route2。 Aka你的缓存TagHelper应该是:
<div class="classname">all pseudo works</div>
<div id="a">
<div class="classname">none of the pseudo works</div>
</div>
答案 1 :(得分:0)
我在发布到github repo的旧问题上找到了一个很好的定义。
结果的逗号分隔的路径数据参数名称列表 应该改变。路径数据参数值用作部件 缓存条目密钥。