如何在ASP.NET MVC中的该页面上的多个内容部分可见的aspx页面上创建变量?

时间:2012-01-05 04:21:03

标签: asp.net asp.net-mvc

我有一个aspx页面,在ASP.NET MVC应用程序中有多个内容部分。我需要根据页面上的页面URL(使用自定义HtmlHelper)计算一个值,并在其中两个内容页面中使用该值。如何声明此值(或者更正确保存值的变量),以便从两个内容部分中看到它。

以下是一些细节:

    <asp:Content ID="indexTitle" ContentPlaceHolderID="TitleContent" runat="server">
        <%
              var titleAndDescription = Helpers.TitleAndDescription.GetTitleAndDescription(Request.RawUrl); 
              Response.Write(titleAndDescription.Title);
          %>

    </asp:Content>

<asp:Content id="indexDescription" ContentPlaceHolderID="MetaTagsContent" runat="server">
    <meta name="Description" content=<%Response.Write(titleAndDescription.Description);%> />
</asp:Content>

所以我想计算变量titleAndDescription一次并使用它两次,每次部分使用一次。

2 个答案:

答案 0 :(得分:2)

您可以在这些部分之外声明变量:

<script type="text/c#" runat="server">
    string foo = "bar";
</script>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%: foo %>
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2><%: foo %></h2>
</asp:Content>

答案 1 :(得分:0)

只需在内容部分中使用该html帮助器值即可。什么阻止你从每个内容部分调用HtmlHelper?

如果你必须通过它,可以考虑使用ViewModel,TempData等几种技术中的一种,但不知道你如何使用内容部分很难说。

您指的是包含多个内容部分的布局吗?