在 asp.net 个核心剃须刀页面上使用部分视图

using partial view on asp.net core razor pages

我正在开发一个在 asp.net core 2 razor pages 上运行的项目。 我需要一个解决方案来将部分视图或组件加载到 RAZOR 页面中,而且我还可以发送对象(一些 class 模型或基本字符串)。

这是我要加载部分视图的详细信息页面。 使用此代码:

@{
    await Html.RenderPartialAsync("Shared/Partial/DeleteModal", Model.DeleteModalModel);
}

这是我内部的局部视图

<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header bg-red">
                <h4 class="modal-title" id="defaultModalLabel">DİKKAT KAYIT SİLİNECEKTİR !</h4>
            </div>
            <div class="modal-body">                
            </div>
            <div class="modal-footer">
                <input type="submit" asp-page-handler="Delete" class="btn bg-red m-t-15 waves-effect" value="Sil" data-toggle="modal" data-target="#deleteModal" />
                <button type="button" class="btn bg-indigo m-t-15 waves-effect" data-dismiss="modal">@Html.DisplayNameFor(model => Model.ViewModel.Buttons.Close)</button>
            </div>
        </div>
    </div>
</div>

下面是局部视图模型

using Microsoft.AspNetCore.Mvc.RazorPages;

namespace Q.Presentation.System.Razor.Pages.Shared.Partial
{
    public class DeleteModalModel : PageModel
    {
        public string Message { get; set; }
    }
}

我想要来自详细信息页面的设置消息 属性 并希望显示在我想加载到详细信息剃刀页面的部分视图中

找到了解决办法。当您将局部剃刀视图添加到项目 VS 剃刀局部视图模板时,在局部视图 CSHTML 的顶部添加 @page。 您需要删除它才能正常工作。

这是旧的局部视图 CSHTML 文件

@page
@model Project.Model

<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog">
......

和新的:

@model Project.Model

<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog">
........