ASP.Net Core 3.1 和全局视图方法
ASP.Net Core 3.1 and global view method
代码 @await Html.PartialAsync("~/Views/Shared/_Toast.cshtml", new ToastMessage() { Caption = "Hello", Message = "World" })
呈现带参数的部分视图。它显示了一个 Bootstrap toast 消息,我打算在任何地方使用它。
现在是否可以将该行缩减为 @MyHelpers.ShowToastMessage(new ToastMessage() { Caption = "Hello", Message = "World" })
之类的内容?我不想使用视图组件(矫枉过正)。另外 @functions 块似乎只是本地的。
您可以在您的应用中自定义 html助手。
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);
}
}
}
在您看来:
@using App.Helpers
@await Html.PartialAsync("~/Views/Shared/_Toast.cshtml", new ToastMessage() { Caption = "Hello", Message = "World" })
@Html.ShowToastMessage(new ToastMessage() { Caption = "Hello", Message = "World" })
如果您的 _Toast.cshtml
包含其他 html 个元素,那么您可以使用 TagBuilder Class 来创建。
代码 @await Html.PartialAsync("~/Views/Shared/_Toast.cshtml", new ToastMessage() { Caption = "Hello", Message = "World" })
呈现带参数的部分视图。它显示了一个 Bootstrap toast 消息,我打算在任何地方使用它。
现在是否可以将该行缩减为 @MyHelpers.ShowToastMessage(new ToastMessage() { Caption = "Hello", Message = "World" })
之类的内容?我不想使用视图组件(矫枉过正)。另外 @functions 块似乎只是本地的。
您可以在您的应用中自定义 html助手。
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);
}
}
}
在您看来:
@using App.Helpers
@await Html.PartialAsync("~/Views/Shared/_Toast.cshtml", new ToastMessage() { Caption = "Hello", Message = "World" })
@Html.ShowToastMessage(new ToastMessage() { Caption = "Hello", Message = "World" })
如果您的 _Toast.cshtml
包含其他 html 个元素,那么您可以使用 TagBuilder Class 来创建。