标准的ASP.Net Core标记辅助工具不是紫色和粗体

时间:2018-08-29 19:49:30

标签: razor razor-pages tag-helpers

我有这个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中。显然,我在犯一些愚蠢的错误,我无法弄清楚。

2 个答案:

答案 0 :(得分:1)

标记助手是一项可选功能。默认情况下,它们对页面不可用。通过在页面上添加@addTagHelper指令,或更通常在 _ViewImports.cshtml 文件中,可以启用这些指令:

@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

检查是否启用了标记助手。

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

答案 1 :(得分:0)

我正在研究RazorPagesMovie教程,所有粗体从我的taghelpers中消失了。很烦人。我必须关闭VS 2019并重新启动并打开备份项目。这是工作。无论如何暂时如此。