Asp.net core mvc ASP.NETCore3.1和全局视图方法
代码Asp.net core mvc ASP.NETCore3.1和全局视图方法,asp.net-core-mvc,partial-views,html-helper,Asp.net Core Mvc,Partial Views,Html Helper,代码@await Html.partialsync(“~/Views/Shared/_Toast.cshtml”,new ToastMessage(){Caption=“Hello”,Message=“World”})呈现带有参数的部分视图。它显示了一个Bootstrap toast消息,我打算在任何地方都使用它 现在是否可以将该行缩减为类似于@MyHelpers.showtostmessage(newtoastmessage(){Caption=“Hello”,Message=“World”}
@await Html.partialsync(“~/Views/Shared/_Toast.cshtml”,new ToastMessage(){Caption=“Hello”,Message=“World”})
呈现带有参数的部分视图。它显示了一个Bootstrap toast消息,我打算在任何地方都使用它
现在是否可以将该行缩减为类似于
@MyHelpers.showtostmessage(newtoastmessage(){Caption=“Hello”,Message=“World”})
?我不想使用视图组件(过度使用)。此外,@functions块似乎仅限于本地。您可以在应用程序中自定义htmlhelper
namespace App.Helpers
{
public static class HtmlHelperExtensions
{
public static IHtmlContent ShowToastMessage(this IHtmlHelper htmlHelper, ToastMessage model)
{
string str = "<div> "+ model.Caption + " " + model.Message + " <div/>";
return new HtmlString(str);
}
}
}
如果您的\u Toast.cshtml
包含其他html元素,则可以使用创建
@using App.Helpers
@await Html.PartialAsync("~/Views/Shared/_Toast.cshtml", new ToastMessage() { Caption = "Hello", Message = "World" })
@Html.ShowToastMessage(new ToastMessage() { Caption = "Hello", Message = "World" })