【发布时间】:2019-08-31 23:03:15
【问题描述】:
我有基于剃须刀页面的 .net 核心网络应用程序。我使用 _Layout 结构,其中包含一些需要在 @renderbody() 中呈现的部分和页面。我有一个 _Sidebar 部分,其中包含应该链接到应该在 @renderbody() 部分中加载的页面的链接。我使用 asp-page 指令添加链接,并在 Pages 文件夹中搭建了一个剃须刀页面项目(视图 + 页面模型)。我不对文件中的脚手架代码进行任何更改。我只将文件名添加到侧边栏链接中的 asp-page 指令中。我运行网络应用程序并单击链接,我收到以下错误:
InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'NN.NetworkManagementPortal.Pages.WhitelistingModel', but this ViewDataDictionary instance requires a model item of type 'DeliveryPlanner.Pages.IndexModel'.
问题出在哪里?我正在执行与在没有任何问题的不同项目中完全相同的过程。
侧边栏:
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link" asp-page="Index">
<i class="ni ni-settings text-blue"></i> Configuration Items List
</a>
</li>
<li class="nav-item">
<a class="nav-link" asp-page="Whitelisting">
<i class="ni ni-pin-3 text-orange"></i> White-list IP
</a>
</li>
<li class="nav-item">
<a class="nav-link" asp-page="About">
<i class="ni ni-single-02 text-yellow"></i> About </a>
</li>
<li class="nav-item">
<partial name="_LoginPartial">
</li>
</ul>
白名单视图:
@page
@model NN.NetworkManagementPortal.Pages.WhitelistingModel
@{
ViewData["Title"] = "Whitelisting";
}
<h2>Whitelisting</h2>
将 PageModel 列入白名单:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace NN.NetworkManagementPortal.Pages
{
public class WhitelistingModel : PageModel
{
public void OnGet()
{
}
}
}
【问题讨论】:
标签: c# .net-core razor-pages