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

发布于 2024-12-13 12:51:19 字数 590 浏览 1 评论 0原文

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

<%@ 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用户数据)

I have a view that that nedds to use an external static content provide.
this is how I try to access it:

<%@ 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();
            %>

But I can't this way for some reason. How do I access the external class within the view?
(in the first line I am using this: NameSpace.ActionsMetadata.BrokerAction user data )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

菩提树下叶撕阳。 2024-12-20 12:51:19

视图确实没有直接访问此全局状态的业务 - 这应该是控制器的责任。如果控制器访问此数据并将其放入 ViewBag 中以供视图使用,则更符合 MVC 范例。

// 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"];
    %>

The view really has no business accessing this global state directly - this should be the responsibility of the Controller. It would be more in line with the MVC paradigm if the Controller accessed this data, and put it in the ViewBag for the view to utilize..

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

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

EDIT:

For MVC 2 the code will be slightly different:

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

// In view...
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <%
        OpenDemoAccount content = (OpenDemoAccount)ViewData["OpenDemoAccount"];
    %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文