Здравствуйте, товарищи! Имам няколко незначителни нетаджийски въпроси във връзка с MVC. Предходните 5 години съм правил сървиси, малко съм поизпуснал тренда по сайтовете.
Първо, в ASP.NET MVC5 Темплейта при създаване на View
ползваше ViewBag
по default. Например:
// ....
<title>@ViewBag.Title</title>
// ...
Виждам, че в ASP.NET Core 3.1 вече същото е сменено с ViewData[key]
, например:
// ....
<title>@ViewData["Title"]</title>
// ...
Да, едното е dictionary, а другото е dynamic към едни и същи данни. Но какво наложи промяната в темплейта? Някой има ли си идея? Вие какво предпочитате във вашите фирми? Кое от двете налагате?
Второ, въведоха новите tag helper-и, които съществуват заедно с html helper-ите. Виждам, че в layout-а много се използват първите, например:
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-controller="Customer" asp-action="Index">
Customers
</a>
</li>
Но, при генериране на View през Details темплейта, например, все още използва html helper-ите. Например
<dl class="row">
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Id)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Id)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Name)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Name)
</dd>
</dl>
Сега, ясно е, че понякога html helper-ите правят тъпотии, като например с checkbox. Това настрана, кое предпочитате да използвате вие? Миксирате ли двете, според нуждата, или ползвате твърдо едно от двете? Може ли някой чикита някой ден скоро да ми каже, защо ползваш @Html.TextBoxFor
, а не <input asp-for="prop" />
Трето, ако не гоните твърдо angular/react/etc фронтенд, а трябва да направите нещо набързо, или трябва да се поберете в по- ограничен бюджет, как ще тръгнете с фронтенд-а? Ще го направите класически MVC, ще ползвате Razor Pages, или ще преминете към Blazor. Наскоро ми писаха по няколко обяви с Blazor. Интересно ми е колко се ползва в момента. Засега виждам само @Stilgar да го споменава.
Още един въпрос, откога се използват description list за детайли? По- SEO ли е?