我怎样才能 BaseLayout/BaseComponent 在 Blazor 中覆盖
How can I do BaseLayout/BaseComponent override In Blazor
ToolbarLayout.cs
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");
}
}
ToolbarLayout 剃刀
@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 />
我有如上图所示的组件。
我想用我的"ToolbarLayout"组件作为基础组件,需要方法等,我想改。
类似于WinForm中的Base Form结构
添加从 ComponentBase
派生的 类 并使用 @inherits
public class MyBaseComponent : ComponentBase
{
[Inject]
public IService AnInjectedService { get; set; }
[Parameter]
public string AParameter { get; set; }
protected virtual void Update()
{
}
}
@inherits MyBaseComponent
<h3>My derived component @AParamter</h3>
@code {
protected override void Update()
{
// code overidding my base update method
base.Update();
}
}
ToolbarLayout.cs
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");
}
}
ToolbarLayout 剃刀
@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 />
我有如上图所示的组件。 我想用我的"ToolbarLayout"组件作为基础组件,需要方法等,我想改。 类似于WinForm中的Base Form结构
添加从 ComponentBase
派生的 类 并使用 @inherits
public class MyBaseComponent : ComponentBase
{
[Inject]
public IService AnInjectedService { get; set; }
[Parameter]
public string AParameter { get; set; }
protected virtual void Update()
{
}
}
@inherits MyBaseComponent
<h3>My derived component @AParamter</h3>
@code {
protected override void Update()
{
// code overidding my base update method
base.Update();
}
}