我刚刚开始使用 Asp.Net Core 2.2 研究新 Web 应用程序的注册/登录/注销功能。
我已经搭建了身份页面,对我来说更容易。我不喜欢这种新方法。
我的页面代码像这样生成注册页面的链接
<div class="text-right reg-button"> <a asp-area="Identity" asp-page="/Account/Register" class="submit">Register</a></div>
这会生成链接
<div class="text-right reg-button"> <a class="submit" href="/Identity/Account/Register">Register</a></div>
单击该链接会产生错误
NullReferenceException:对象引用未设置为对象的实例。
该链接看起来正确,所以我怀疑它尝试使用的布局有问题,因为这也是错误详细信息的一部分。
NullReferenceException:对象引用未设置为对象的实例。AspNetCore.Views_Shared__Layout_Industry.b__14_0() in _Layout-Industry.cshtml + var controllerName = this.ViewContext.RouteData.Values["controller"].ToString();
所以我直接在Register页面中将布局设置为null,页面以基本形式呈现。
所以问题变成了两个方面;
为什么我在 Identity 部分 ViewStart 文件中设置的布局(我也在 Views/Shared 文件夹中设置的布局)在所有 Identity 页面中都失败,但在 Areas 文件夹下以外的任何其他页面中都可以正常工作?
即使我直接在文件中设置布局完整路径,它仍然会失败并出现同样的错误。布局文件名为 _Layout-Industry,但我在错误详细信息中注意到它显示为 _Layout_Industry,该连字符是否会导致问题?
肥皂起泡泡
相关分类