从 ViewModel 调用 CORE Razor 页面中的方法
Call a method in a CORE Razor Page from a ViewModel
我的剃刀页面
public class IndexModel : BaseModel {
public void OnGet() {
BaseModelMethod();
}
public void LocalMethod() {}
}
调用基础 ViewModel 中的方法
public class BaseModel : PageModel {
public void BaseModelMethod() {
// Do stuff
}
}
有没有办法在调用 Razor 页面中回调 LocalMethod
的实例?
您必须将函数定义为虚函数。您的 BaseModel 必须具有以下形式:
public class BaseModel : PageModel
{
public void BaseModelMethod()
{
LocalMethod();
}
public virtual void LocalMethod()
{
}
}
如您所见,我创建了虚函数,以便我们知道我们将调用哪种方法。
现在我们可以像这样定义我们自己的 LocalMethod 版本:
public class IndexModel : BaseModel
{
public void OnGet()
{
BaseModelMethod();
}
public override void LocalMethod()
{
base.LocalMethod();
}
}
我的剃刀页面
public class IndexModel : BaseModel {
public void OnGet() {
BaseModelMethod();
}
public void LocalMethod() {}
}
调用基础 ViewModel 中的方法
public class BaseModel : PageModel {
public void BaseModelMethod() {
// Do stuff
}
}
有没有办法在调用 Razor 页面中回调 LocalMethod
的实例?
您必须将函数定义为虚函数。您的 BaseModel 必须具有以下形式:
public class BaseModel : PageModel
{
public void BaseModelMethod()
{
LocalMethod();
}
public virtual void LocalMethod()
{
}
}
如您所见,我创建了虚函数,以便我们知道我们将调用哪种方法。
现在我们可以像这样定义我们自己的 LocalMethod 版本:
public class IndexModel : BaseModel
{
public void OnGet()
{
BaseModelMethod();
}
public override void LocalMethod()
{
base.LocalMethod();
}
}