MVC1000使用IHtmlHelper.Partial可能会导致应用程序死锁。考虑使用<partial>标记助手或IHtmlHelper.PartialAsync

时间:2019-06-29 17:26:25

标签: c# asp.net-core

尝试使用.Netcore制作Web应用程序当我运行该应用程序时,出现此错误。帮我 这不是错误,而是警告。但是帮我解决

我在下面添加了代码

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>@ViewBag.Title</title>

    <link href="~/css/bootstrap.css" rel="stylesheet" />
    <link href="~/css/sidebar-nav.min.css" rel="stylesheet" />
    <link href="~/css/animate.css" rel="stylesheet" />
    <link href="~/css/default.css" rel="stylesheet" />
    <link href="~/css/style.css" rel="stylesheet" />
</head>
<body class="fix-header fix-sidebar">
    <div id="wrapper">
        @Html.Partial("AdminPartials/_TopMenu")
        @Html.Partial("AdminPartials/_Sidebar")
        <div id="page-wrapper" style="min-height:600px">
            <div class="container-fluid">
                @RenderBody()
                <hr />
                <footer class="footer text-center">© @DateTime.Now.Year | Powered by Techguy</footer>
            </div>
        </div>
    </div>

    @RenderSection("scripts", required: false)

    <script src="~/js/jquery.min.js"></script>
    <script src="~/js/bootstrap.min.js"></script>
    <script src="~/js/sidebar-nav.min.js"></script>
    <script src="~/js/custom.js"></script>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

对于像我这样不太熟悉正则表达式的人。您可以使用 Find&Replace 在整个解决方案中轻松完成此更改。它应该在大多数情况下完成工作。

查找:\@Html.Partial\(\"(.*?)\"\),

替换:<partial name="$1" />,

选中“使用正则表达式”选项

查找:\@Html.Partial\(\"(.*?)\", (.*?)\),

替换:<partial name="$1" for="@($2)"/>,

选中“使用正则表达式”选项

答案 1 :(得分:0)

如果您只是在寻找如何从@Html.Partial更新到<partial>

    @Html.Partial("AdminPartials/_TopMenu")
    @Html.Partial("AdminPartials/_Sidebar")

应更改为

    <partial name="AdminPartials/_TopMenu" />
    <partial name="AdminPartials/_Sidebar" />

此处有更多详细信息:https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/built-in/partial-tag-helper?view=aspnetcore-2.2