Style.Render 不适用于服务器端 (Razor)
Style.Render doesn't works on server side (Razor )
我正在使用 Razor 页面 (c#) 构建 Wen 应用程序。所以在我的“_Layout.cshtml 页面”中,我构建了这段代码:
<!DOCTYPE html>
<html style="height:110%;">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<script src="../Scripts/jquery.min.js"></script>
<link href="../Content/jquery-ui.css" rel="stylesheet">
<script src="../Scripts/jquery-ui.min.js"></script>
</head>
<body style="width:100%;height:100%;">
<div class="container body-content">
@RenderBody()
</div>
</body>
</html>
所以在我的本地电脑上,如果我尝试打开索引页面,如果我尝试查看 HTML 页面的代码,我可以看到这个:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Eresult srl</title>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.8.3.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<script src="../Scripts/jquery.min.js"></script>
<link href="../Content/jquery-ui.css" rel="stylesheet">
<script src="../Scripts/jquery-ui.min.js"></script>
</head>
要在本地电脑上查看索引页,我使用此 link "http:/localhost:9094/Pagina.aspx"
现在,如果我尝试在服务器端安装此应用程序,我会遇到一些图形问题。
这是我使用的url:“http://url:9094/Questionario/Pagina.aspx”
如果我看到 HTML 页面的代码,这是我可以看到的代码。
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Eresult srl</title>
<link href="/Questionario/Content/css?v=5h6Wc7kfOUsqxEEmYLsFbm8C9NAaEGNbzkeznwX1XR41" rel="stylesheet"/>
<script src="/Questionario/bundles/modernizr?v=inCVuEFe6J4Q07A0AcRsbJic_UE5MwpRMNGcOtk94TE1"></script>
<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>-->
<!--<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" />-->
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<script src="../Scripts/jquery.min.js"></script>
<link href="../Content/jquery-ui.css" rel="stylesheet">
<script src="../Scripts/jquery-ui.min.js"></script>
</head>
正如您在服务器端看到的那样,系统无法正确加载 css 和 js 文件。
您必须在整个应用程序中使用相对路径,尤其是当您将其部署到服务器(如 IIS)时:
~
在静态 html 代码中不起作用,因此使用:
<script src="@Url.Content("~/Scripts/jquery.min.js")"></script>
<link href="@Url.Content("~/Content/jquery-ui.css")" rel="stylesheet">
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")"></script>
我正在使用 Razor 页面 (c#) 构建 Wen 应用程序。所以在我的“_Layout.cshtml 页面”中,我构建了这段代码:
<!DOCTYPE html>
<html style="height:110%;">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<script src="../Scripts/jquery.min.js"></script>
<link href="../Content/jquery-ui.css" rel="stylesheet">
<script src="../Scripts/jquery-ui.min.js"></script>
</head>
<body style="width:100%;height:100%;">
<div class="container body-content">
@RenderBody()
</div>
</body>
</html>
所以在我的本地电脑上,如果我尝试打开索引页面,如果我尝试查看 HTML 页面的代码,我可以看到这个:
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Eresult srl</title>
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.8.3.js"></script>
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<script src="../Scripts/jquery.min.js"></script>
<link href="../Content/jquery-ui.css" rel="stylesheet">
<script src="../Scripts/jquery-ui.min.js"></script>
</head>
要在本地电脑上查看索引页,我使用此 link "http:/localhost:9094/Pagina.aspx"
现在,如果我尝试在服务器端安装此应用程序,我会遇到一些图形问题。
这是我使用的url:“http://url:9094/Questionario/Pagina.aspx”
如果我看到 HTML 页面的代码,这是我可以看到的代码。
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Eresult srl</title>
<link href="/Questionario/Content/css?v=5h6Wc7kfOUsqxEEmYLsFbm8C9NAaEGNbzkeznwX1XR41" rel="stylesheet"/>
<script src="/Questionario/bundles/modernizr?v=inCVuEFe6J4Q07A0AcRsbJic_UE5MwpRMNGcOtk94TE1"></script>
<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>-->
<!--<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css" rel="stylesheet" />-->
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<script src="../Scripts/jquery.min.js"></script>
<link href="../Content/jquery-ui.css" rel="stylesheet">
<script src="../Scripts/jquery-ui.min.js"></script>
</head>
正如您在服务器端看到的那样,系统无法正确加载 css 和 js 文件。
您必须在整个应用程序中使用相对路径,尤其是当您将其部署到服务器(如 IIS)时:
~
在静态 html 代码中不起作用,因此使用:
<script src="@Url.Content("~/Scripts/jquery.min.js")"></script>
<link href="@Url.Content("~/Content/jquery-ui.css")" rel="stylesheet">
<script src="@Url.Content("~/Scripts/jquery-ui.min.js")"></script>