Когда мы использовали стандартную платформу .net, мы могли включать файлы css и js по действиям и имени контроллера с помощью кода, подобного следующему;
string scriptSource = Url.Content(string.Format("~/js/page/{0}/{1}.js", controllerName, actionName));
if (System.IO.File.Exists(Server.MapPath(scriptSource)))
{
<script type="text/javascript" src="@scriptSource"></script>
}
Мы помещали эти коды в Layout, и это былоработает, когда вы называете папку js, совпадающую с именем контроллера, а файл js совпадает с именем действия.
Некоторое время назад я обновил проект до .Net Core (2.1) и произвел внедрение зависимостей в BaseController, чтобы получить Server.MapPathзначение, но я не смог добраться от представления _Layout до BaseController или codebehind, чтобы получить Server.Mappath .. Если кому-то из вас это удалось, пожалуйста, дайте мне знать.