首页 > 解决方案 > 标准 ASP.Net Core 标签助手不是紫色和粗体

问题描述

我有这个 cshtml,它没有突出显示 Asp.Net Core 标签助手,比如<form>, <input>, <span>, <textarea>。通过使用@Html.DisplayFor,我能够部分解决这个问题,并且它有效。但除此之外,我不知道那有什么问题。我的 Visual Studio 版本是 2017 15.8.2,相同的标签助手在另一个项目中是紫色和粗体。

这是一些代码(cshtml):

<form method="post">
    <div asp-validation-summary="All" class="text-danger"></div>
    <table>
        <tr>
        <td>@Html.DisplayNameFor(model => model.NoteModel.NoteName)</td>
        <td><input asp-for="NoteModel.NoteName" class="form-control" data-val-required="The NoteName field is required." data-val-maxlength-max="15" data-val="true" /></td>
        <td><span asp-validation-for="NoteModel.NoteName" class="text-danger"></span></td>
        </tr>
        <tr>
        <td>@Html.DisplayNameFor(model => model.NoteModel.TranslatedNoteName)</td>
        <td><input asp-for="NoteModel.TranslatedNoteName" class="form-control" data-val-required="The TranslatedNoteName field is required." data-val-maxlength-max="100" data-val="true" /></td>
        <td><span asp-validation-for="NoteModel.TranslatedNoteName" class="text-danger"></span></td>
        </tr>
        <tr>
        <td>@Html.DisplayNameFor(model => model.NoteModel.NoteText)</td>
        <td><textarea asp-for="NoteModel.NoteText"
                  class="form-control" data-val-required="The NoteText field is required." 
                  data-val-maxlength-max="8000" data-val="true" 
                  data-val-maxlength="The field NoteText must be a string or array type with a maximum length of '8000'."
                  rows="20" cols="100"></textarea></td>
        <td><span asp-validation-for="NoteModel.NoteText" class="text-danger"></span></td>
        </tr>
    </table>

    <div>
        Upload an image: <input type="file" name="image" accept=".jpg" />
    </div>

    <div class="form-group">
        <button type="submit" class="btn btn-default">Upload</button>
    </div>
</form>

NoteModel 类中有数据注解,@Html.DisplayFor 可以正确呈现。

有任何想法吗?提前致谢。

更新:

标签未正确呈现为 HTML,所有属性都asp-保留在 HTML 中。显然,我犯了一些愚蠢的错误,我无法弄清楚。

标签: razorrazor-pagestag-helpers

解决方案


标签助手是一项可选功能。默认情况下,它们对页面不可用。它们是通过向@addTagHelper页面添加指令来启用的,或者更常见的是向_ViewImports.cshtml文件添加指令:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

检查是否启用了 taghelper。

参考:https ://www.learnrazorpages.com/razor-pages/tag-helpers/


推荐阅读