Ваш метод действия может вернуть HTML-код для вашего значка, который также включает данные (номер предупреждения).
public class WarningController : Controller
{
public ActionResult Badge()
{
int contWarning = 10; // temp hard coded value for demo;
// Replace the hard coded value
// with your existing code to get the data from database
return PartialView("Badge",contWarning);
}
}
Теперь в вашем Badge.cshtml
, который строго печатается как int
, визуализируйте нужный вам HTML.
@model int
<span class="badge">
@Model
</span>
Теперь в вашем макете (_Layout.cshtml
), вызовите эту визуализацию для вывода этого метода действия Badge, используя метод Html.Action
.
@Html.Action("Badge","Warning")
Убедитесь, что вы возвращаете частичное представление (которое не имеет собственного макета), используя PartialView
вместо View
метода. Если ваш метод действия Badge возвращает представление с тем же файлом макета, это вызовет бесконечный цикл, и вы получите исключение StackOverflow.