Asp.net mvc 3 如何访问在控制器中创建的视图中的变量?
如何访问在控制器中创建的视图中的变量?您需要将变量发送到ViewModel(View()方法的参数)或TempData dictionary中的视图。您可以将其添加到ViewData[]dictionary或(较新的)ViewBag dynamic中 在控制器中:Asp.net mvc 3 如何访问在控制器中创建的视图中的变量?,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,如何访问在控制器中创建的视图中的变量?您需要将变量发送到ViewModel(View()方法的参数)或TempData dictionary中的视图。您可以将其添加到ViewData[]dictionary或(较新的)ViewBag dynamic中 在控制器中: ViewData['YourVariable'] = yourVariable; // or ViewBag.YourVariable = yourVariable; 在你看来: <%: ViewData["yourVaria
ViewData['YourVariable'] = yourVariable;
// or
ViewBag.YourVariable = yourVariable;
在你看来:
<%: ViewData["yourVariable"] %>
// or
<%: ViewBag.YourVariable %>
//或
将变量放入用于视图的模型中
或使用ViewBag变量-例如,从
public ActionResult Index()
{
列表颜色=新列表();
颜色。添加(“红色”);
颜色。添加(“绿色”);
颜色。添加(“蓝色”);
ViewBag.ListColors=colors;//颜色是列表
ViewBag.DateNow=DateTime.Now;
ViewBag.Name=“Hajan”;
年龄=25岁;
返回视图();
}
及
我的名字是
,
岁。
我喜欢以下颜色:
-
尽管希望您能使用Razor:)您是对的。接下来我尝试这样做:
var res=calculator.Div(19.2,23.3);返回视图(res)代码>在视图中,我试图用@res显示此变量。但我收到错误“编译器错误消息:CS0103:名称'res'在当前上下文中不存在”@misho:它将<代码>模型
设置为您的值。@misho:传递给<代码>视图方法的参数将成为视图中的<代码>模型属性。
public ActionResult Index()
{
List<string> colors = new List<string>();
colors.Add("red");
colors.Add("green");
colors.Add("blue");
ViewBag.ListColors = colors; //colors is List
ViewBag.DateNow = DateTime.Now;
ViewBag.Name = "Hajan";
ViewBag.Age = 25;
return View();
}
<p>
My name is
<b><%: ViewBag.Name %></b>,
<b><%: ViewBag.Age %></b> years old.
<br />
I like the following colors:
</p>
<ul id="colors">
<% foreach (var color in ViewBag.ListColors) { %>
<li>
<font color="<%: color %>"><%: color %></font>
</li>
<% } %>