C # MVC - вызов внешнего класса в представлении - PullRequest
0 голосов
/ 04 ноября 2011

У меня есть мнение, что нужно использовать внешний статический контент.вот как я пытаюсь получить к нему доступ:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<NameSpace.ActionsMetadata.BrokerAction>" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
            <%
                OpenDemoAccount content =  NameSpace.Models.ActionsMetadata.Translations.ContentGroupsHolder();
            %>

Но я не могу этого сделать по некоторым причинам.Как мне получить доступ к внешнему классу в представлении?
(в первой строке я использую это: NameSpace.ActionsMetadata.BrokerAction пользовательские данные)

1 Ответ

1 голос
/ 04 ноября 2011

Представление действительно не имеет доступа к этому глобальному состоянию напрямую - это должно быть обязанностью Контроллера.Было бы больше в соответствии с парадигмой MVC, если бы Контроллер получил доступ к этим данным и поместил их в ViewBag для представления, чтобы использовать ..

// In controller...
ViewBag.OpenDemoAccount = NameSpace.Models.ActionsMetadata.Translations.ContentsGroupHolder();

// In view...
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <%
        OpenDemoAccount content = ViewBag.OpenDemoAccount;
    %>

РЕДАКТИРОВАТЬ:

Для MVC 2код будет немного другим:

// In controller...
ViewData["OpenDemoAccount"] = NameSpace.Models.ActionsMetadata.Translations.ContentsGroupHolder();

// In view...
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <%
        OpenDemoAccount content = (OpenDemoAccount)ViewData["OpenDemoAccount"];
    %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...