从ViewModel调用CORE Razor Page中的方法

时间:2018-03-19 15:02:20

标签: razor-pages

我的剃刀页

   public class IndexModel : BaseModel {
        public void OnGet() {
            BaseModelMethod();
        }
        public void LocalMethod() {}
   }

调用基础ViewModel中的方法

public class BaseModel : PageModel {
    public void BaseModelMethod() {
        // Do stuff 
    }
}

有没有办法在调用Razor页面中回调LocalMethod的实例?

1 个答案:

答案 0 :(得分:1)

您必须将该功能定义为虚拟功能。您的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();
    }
}