Asp.net mvc 3 如何访问在控制器中创建的视图中的变量?

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

如何访问在控制器中创建的视图中的变量?

您需要将变量发送到ViewModel(View()方法的参数)或TempData dictionary中的视图。

您可以将其添加到ViewData[]dictionary或(较新的)ViewBag dynamic中

在控制器中:

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>
<% } %>