Asp.net MVC 5 - создание свойств, к которым можно обращаться в контроллере и просматривать - PullRequest
0 голосов
/ 30 сентября 2019

Я создаю свойство, к которому можно обращаться в Controller и View.

public abstract class BaseWebViewPage : WebViewPage
{
    public Application Application { get; set; }

    public override void Execute()
    {
        Application = new Application(Context.GetCurrentFoo());
    }
}

public abstract class BaseWebViewPage<TModel> : WebViewPage<TModel>
{
    public virtual Application Application { get; set; }

    public override void Execute()
    {
        Application = new Application(Context.GetCurrentFoo());
    }
}

И устанавливаю это в контроллере

public abstract class BaseController : Controller
{
    protected virtual IApplication Application { get; private set; }

    public Institution CurrentFoo
    {
        get { return HttpContext.GetCurrentFoo(); }
        set { HttpContext.SetCurrentFoo(value); }
    }

    protected override void Initialize(RequestContext requestContext)
    {
        base.Initialize(requestContext);

        Application = new Application(CurrentFoo);
    }
}

и пытаюсь использовать его в View

@{
    var App = Application;
}

Но получим нулевое значение. Я также попробовал это в методе InitHelpers и методе Execute WebViewPage. InitHelpers, похоже, работает, однако Context.CurrentFoo не имеет данных и всегда выполняется, когда есть HtmlHelpers, что я не хочу, чтобы это происходило, поскольку это вызывает данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...