Style.Render在服务器端不起作用(剃刀)

时间:2020-01-30 10:37:38

标签: c# asp.net razor razor-pages

我正在使用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>

因此,在我的本地PC中,如果尝试打开“索引页”,那么如果我尝试查看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>

要在本地PC上查看索引页面,请使用此链接“ http:/ localhost:9094 / Pagina.aspx”

现在,如果我尝试在服务器端安装此应用程序,则会遇到图形问题。

这是我使用的网址:“ 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文件。

1 个答案:

答案 0 :(得分:1)

您必须在整个应用程序中使用相对路径,尤其是在将其部署到服务器(如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>