C#MVC - 在视图中调用外部类

时间:2011-11-04 08:47:28

标签: c# asp.net-mvc-2 view

我认为nedds使用外部静态内容提供。 这就是我尝试访问它的方式:

<%@ 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 个答案:

答案 0 :(得分:1)

该视图确实没有直接访问此全局状态的业务 - 这应该是Controller的责任。如果Controller访问了这些数据,那么它将更符合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"];
    %>