[英]Declare global Razor Page variables in ASP.NET MVC [NOT Static]
[英]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) %>
因此,在您的aspx页面中,您将执行以下操作
<% ViewData["i"] = 0; %>
在userControl中,您只需检索它并根据需要使用它
<% int i = (int)ViewData["i"] %>
另一种方法是使用RenderAction eand并将其作为参数传递...因此我们需要知道如何显示ascx。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.