AspNetCore 2.0 MVC / 'model' 必须出现在起始行

mve*_*mef 4 asp.net-core-mvc asp.net-core-mvc-2.0

_Create.cshtml(片段)

@model MC.Models.AdminViewModels.NewUserViewModel

@await Html.PartialAsync("_ModalHeader", new ModalHeader() { Title= "New User"})
<div class="modal-body">
<form asp-action="Create">
    <div class="form-horizontal">
        <div asp-validation-summary="ModelOnly" class="text-danger"></div>
        <div class="form-group">
            <label asp-for="NewUser.FirstName" class="col-md-4 control-label">First Name</label>
            <div class="col-md-8">
                <input asp-for="NewUser.FirstName" class="form-control" />
                <span asp-validation-for="NewUser.FirstName" class="text-danger"></span>
            </div>
        </div>
Run Code Online (Sandbox Code Playgroud)

Microsoft.AspNetCore.Mvc.Razor.Compilation.CompilationFailedException:发生一个或多个编译失败:C:\Projects\Webs\MC\Areas\Admin\Views\Shared_ModalFooter.cshtml(1,3):错误 RZ9999:“模型”指令必须出现在行首。在 Microsoft.AspNetCore.Mvc.Razor.Internal.RazorViewCompiler.CompileAndEmit(String relativePath) 在 Microsoft.AspNetCore.Mvc.Razor.Internal.RazorViewCompiler.CreateCacheEntry(String normalizedPath)

_ModalFooter.cshtml(几乎正是 _ModalHeader 中内容的示例)

@model MC.Models.ModalFooter

<div class="modal-footer">
    <button data-dismiss="modal" id="@Model.CancelButtonID" class="btn btn-default" type="button">@Model.CancelButtonText</button>
@if (!Model.OnlyCancelButton)
{
    <button class="btn btn-success" id="@Model.SubmitButtonID" type="submit">
        @Model.SubmitButtonText
    </button>
}
</div> 
Run Code Online (Sandbox Code Playgroud)

这让我陷入了困境。Asp.net Core 2.0,在 1.1.2 中工作得很好,但这是为每个部分中的每个部分抛出的,这是为模态使用设置的。错误 RZ9999 显然没有记录在任何地方。当然,取出直接 html 的部分不会抛出错误,但可以想象这是 1 行 verse 3-4 行代码。我想我在某个地方遗漏了从 Asp.net Core MVC 1.1 到 2.0 的转换。 这也是部分中的部分。

注意:我在 *.csproj 中使用了“Microsoft.AspNetCore.All”包,因为发布日 NuGet 没有 v2 的 EF 工具包。

mve*_*mef 5

BOM(字节顺序标记)是文件开头有一些垃圾的原因!用二进制编辑器编辑它繁荣作品。

  • 这太疯狂了,我删除了我视图中的第一行,然后手动重新输入了它,它起作用了,我将不得不假设这也是我的问题。谢谢你的提示。 (5认同)