Style.Render не работает на стороне сервера (Razor) - PullRequest
0 голосов
/ 30 января 2020

Я создаю приложение Wen, используя страницу Razor (c#). Итак, на моей «_Layout.cs html странице» я создаю этот код:

<!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>

Итак, в моем локальном p c, если я пытаюсь открыть страницу индекса, я могу увидеть это, если я попробуйте увидеть код 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>

Чтобы увидеть страницу индекса на моем локальном p c, я использую эту ссылку "http: / localhost: 9094 / Pagina.aspx"

Теперь, если я попытаюсь установить это приложение на стороне сервера, у меня возникнет некоторая проблема с Graphi c.

Это 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 правильно.

1 Ответ

1 голос
/ 30 января 2020

Вы должны использовать относительные пути во всем приложении, особенно при развертывании его на сервере (например, IIS):

~ не будет работать в коде stati c 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>
...