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

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

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

下面是局部 View 模型
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 razor 页面的部分 View 上

最佳答案

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

这是旧的局部 View 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">
........

关于asp.net - 在asp.net core razor 页面上使用局部 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47952259/

10-14 10:57
查看更多