BaseController ASPCore MVC - PullRequest
       9

BaseController ASPCore MVC

0 голосов
/ 17 мая 2018

Я хочу реализовать метод действия BaseController, который вызывается либо до, либо после действия класса Controller, используемого для изменения представления, до его рендеринга в Razor.

public class BaseViewModel
{
    public BaseViewModel() {}
    public string Property1 {get; set;}
}

public class ViewModel : BaseViewModel
{
    public ViewModel () : base() {}
    // Some View Methods
}

public class BaseController
{
    public BaseController();

    // here is where I want to put code to intercept the call to the 
    // AccountController when any action is performed and write to the
    // Property1  of the Base class of the ViewModel  class.
}


public class AccountController : BaseController
{
    public AccountController() : base() {}

    public IActionResult About()
    { 
       return(new ViewModel());
    }
}

Я не знаю, как сделать то, что я пытаюсь объяснить, или если это вообще возможно. Могу ли я получить некоторые отзывы или рекомендации?

BaseViewModel будет содержать свойства, которые являются более общими для всех страниц, таких как "Культура", "Заголовок" и т. Д. И вообще не связаны с ViewModel, но, возможно, отображаются в представлении.

1 Ответ

0 голосов
/ 17 мая 2018

Вы должны иметь возможность переопределить OnActionExecuting:

// Custom Base controller.
public class BaseController : Controller
{
    protected override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        // Do whatever here...
    }
}

// Account controller.
public class AccountController : BaseController
{
    // Action methods here...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...