如何访问在Controller中创建的视图中的变量?
答案 0 :(得分:9)
将变量放入用于View的模型中
或使用ViewBag变量 - 例如来自http://weblogs.asp.net/hajan/archive/2010/12/11/viewbag-dynamic-in-asp-net-mvc-3-rc-2.aspx
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>
<% } %>
虽然希望你能使用Razor:)
答案 1 :(得分:3)
您需要将变量发送到ViewModel中的视图(View()
方法的参数)或TempData字典。
答案 2 :(得分:1)
您可以将其添加到ViewData []词典或(较新的)ViewBag动态。
在您的控制器中:
ViewData['YourVariable'] = yourVariable;
// or
ViewBag.YourVariable = yourVariable;
在您看来:
<%: ViewData["yourVariable"] %>
// or
<%: ViewBag.YourVariable %>