【问题标题】:Style.Render doesn't works on server side (Razor )Style.Render 不适用于服务器端(Razor)
【发布时间】:2020-01-30 10:37:38
【问题描述】:

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

要在本地电脑上查看索引页面,我使用此链接“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 文件。

【问题讨论】:

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


    【解决方案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>
    

    【讨论】:

    • 谢谢,关于这个? @Scripts.Render("~/bundles/modernizr")
    • @bircastri 您应该可以正常工作,因为您使用的是 HTML Helper 标签
    猜你喜欢
    • 1970-01-01
    • 2011-01-27
    • 2016-05-18
    • 2019-08-05
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    相关资源
    最近更新 更多