影响 _Layout.cshtml 中的 HTML 元素的 asp-append-version

asp-append-version affecting html elements inside _Layout.cshtml

提问人:Usama Shahid 提问时间:11/2/2023 更新时间:11/2/2023 访问量:70

问:

我正在尝试在 .net core mvc 应用程序中添加一个带有标志的语言选择器。选取器选择器工作正常,但 asp 版本已附加到下拉列表的选项中。

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>@ViewData["Title"] - WebApplication2</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.2/css/bootstrap-select.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/0.8.2/css/flag-icon.min.css">
    <link rel="stylesheet" href="./css/site.css">
    <link rel="stylesheet" href="./WebApplication2.styles.css"  />
</head>
<body>
    <div class="container">
        <main role="main" class="pb-3">
            @RenderBody()
        </main>
        <select class="selectpicker" data-width="fit">
            <option data-content="<span class='flag-icon flag-icon-cz'></span>"></option>
            <option data-content="<span class='flag-icon flag-icon-de'></span>"></option>
            <option data-content="<span class='flag-icon flag-icon-gb'></span>"></option>
        </select>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.6.2/js/bootstrap-select.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    <script src="./js/site.js"></script>
    <script type='text/javascript'>
        $(function () {
            $('.selectpicker').selectpicker();
        });
    </script>
    @await RenderSectionAsync("Scripts", required: false)
</body>

在选项中附加了 ASP 版本的语言选取器

如果我在任何其他文件中移动选取器,它就可以按预期正常工作。知道我该如何解决这个问题吗?_Layout.cshtml

HTML Razor ASP.net-core-mvc 引导选择

评论


答:

0赞 Jason Pan 11/2/2023 #1

我们可以用来防止渲染这些内容。从而满足我们的需求。@Html.RawRazor engine

使用以下代码

    <select class="selectpicker" data-width="fit">
        <option data-content="@Html.Raw("<span class='flag-icon flag-icon-cz'></span>")"></option>
        <option data-content="@Html.Raw("<span class='flag-icon flag-icon-de'></span>")"></option>
        <option data-content="@Html.Raw("<span class='flag-icon flag-icon-gb'></span>")"></option>
    </select>

测试结果

enter image description here