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

问题描述 投票:1回答:1

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

这是我想加载局部视图的详细页面。使用此代码:

@{
    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>

down是局部视图模型

using Microsoft.AspNetCore.Mvc.RazorPages;

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

我想从DETAIL页面设置Message属性,并希望显示我要加载到DETAIL剃刀页面的局部视图

asp.net partial-views razor-pages
1个回答
5
投票

找到了解决方案。当您向项目VS razor局部视图模板添加部分剃刀视图时,在局部视图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">
........
© www.soinside.com 2019 - 2024. All rights reserved.