在Action
中使用PartialView()
返回视图,视图代码如下
<!DOCTYPE html>
<html>
<head>
……
</head>
<body>
……
<environment names="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
<environment names="Staging,Production">
<link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/css/bootstrap.min.css"
asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
<link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>
</body>
</html>
在客户端浏览器中发现返回的结果中并没有<enviroment>
标签中的内容,也就是说taghelper
没有执行。
但是,在官方文档中是这样描述partial view
和view
的区别的:
The main difference between how a view and a partial view are rendered is that partial views do not run _ViewStart.cshtml
可是为什么taghelper
却在partial view
中不工作呢?难道是官方文档的疏忽?
于是我在当前controller
对应的视图文件下加入了_ViewImports.cshtml
,依然没有作用。
在该视图中直接通过@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
添加,也没有作用。
那么问题出在哪里呢?
你应该是参考这两篇文章来设置Multiple Environment for develop
的
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments
https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro
会不会是你在Action中 跳转时没有 Environment 参数呀!
可以确定不是缺少Environment
参数,因为通过View()
返回的视图都是正常的。