繁体   English   中英

如何在ASP.NET MVC页面中声明全局变量

[英]How to declare a global variable in ASP.NET MVC page

我最近开始使用asp.net mvc,但遇到了问题。 我有一个aspx页面,它呈现了一些ascx页面。 我想做的是在aspx页面上声明一个全局变量,以便对其所有子代可见。 我试过<% var i = 0; %> <% var i = 0; %>但在子页面上看不到。

我能做什么?

Aspx页面中的变量不会与部分视图共享。 该视图只是一条数据的表示。 您必须将数据作为模型传递给要渲染的每个视图,无论是纯视图还是PartialView。

<% Html.RenderPartial("ViewName", Model, ViewDataDictionnary) %>

如果要将变量传递给局部视图,强烈建议您将此参数添加到局部视图的模型中,而不是通过ViewDataDictionnary附加传递它。

您可以将其添加到ViewData,然后通过以下方式将ViewData传递给ascx:

<% Html.RenderPartial("ViewName", Model, ViewData) %>

在RenderPartial上查看msdn

因此,在您的aspx页面中,您将执行以下操作

<% ViewData["i"] = 0; %>

在userControl中,您只需检索它并根据需要使用它

<% int i = (int)ViewData["i"] %>

另一种方法是使用RenderAction eand并将其作为参数传递...因此我们需要知道如何显示ascx。

在RenderAction上查看msdn

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM