У меня есть этот файл 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 правильно их отображает.
Есть идеи? Заранее спасибо.
UPDATE
Теги неправильно отображаются в HTML, все атрибуты asp-
остаются в HTML. Видимо, я делаю какую-то глупую ошибку, которую не могу понять.