C# 如何在Blazor中执行BaseLayout/BaseComponent覆盖
工具栏布局.csC# 如何在Blazor中执行BaseLayout/BaseComponent覆盖,c#,asp.net,.net,blazor,blazor-client-side,C#,Asp.net,.net,Blazor,Blazor Client Side,工具栏布局.cs public class ToolbarLayoutBase : LayoutComponentBase { public string Text { get; set; } public virtual void NewData() { Console.WriteLine("Save Click " + Text); } public virtual void UpdateData() { Co
public class ToolbarLayoutBase : LayoutComponentBase
{
public string Text { get; set; }
public virtual void NewData()
{
Console.WriteLine("Save Click " + Text);
}
public virtual void UpdateData()
{
Console.WriteLine("Update Click");
}
}
工具栏布局剃刀
@inherits ToolbarLayoutBase
BtnSave,BtnUpdate,BtnRemove HTML Button
EditPage.cs
public class EditPageBase : ToolbarLayoutBase
{
public override void UpdateData()
{
base.UpdateData();
}
}
EditPage剃须刀
@inherits EditPageBase
@page "/editpage"
<ToolbarLayout />
@继承EditPageBase
@第页“/编辑页”
我有如上图所示的组件。
我想使用我的“ToolbarLayout”组件作为基础组件,我需要方法等。我想更改。
与WinForm中的基本表单结构类似。添加从继承中派生的类并使用继承
公共类MyBaseComponent:ComponentBase
{
[注入]
public IService AnjectedService{get;set;}
[参数]
公共字符串参数{get;set;}
受保护的虚拟无效更新()
{
}
}
@继承MyBaseComponent
我的派生组件@AParamter
@代码{
受保护的覆盖无效更新()
{
//代码溢出我的基本更新方法
base.Update();
}
}
添加从继承派生的类并使用继承
公共类MyBaseComponent:ComponentBase
{
[注入]
public IService AnjectedService{get;set;}
[参数]
公共字符串参数{get;set;}
受保护的虚拟无效更新()
{
}
}
@继承MyBaseComponent
我的派生组件@AParamter
@代码{
受保护的覆盖无效更新()
{
//代码溢出我的基本更新方法
base.Update();
}
}
嗨,我知道。我要做的是重写基本组件的方法。示例:索引扩展:BasePage@Harun:哪些方法?怎么用?你的问题需要更多的细节。@Henkholtman例如:我有五页。工具栏菜单在这五个页面中可用。工具栏菜单组件有三种方法。这些是保存、更新、删除。我想在我的第二页压碎(覆盖)这个工具栏菜单的更新方法。嗨,我知道。我要做的是重写基本组件的方法。示例:索引扩展:BasePage@Harun:哪些方法?怎么用?你的问题需要更多的细节。@Henkholtman例如:我有五页。工具栏菜单在这五个页面中可用。工具栏菜单组件有三种方法。这些是保存、更新、删除。我想在我的第二页上粉碎(覆盖)此工具栏菜单的更新方法。请删除这些链接并将实际代码粘贴到相应位置来编辑问题。请删除这些链接并将实际代码粘贴到相应位置来编辑问题。