Как я могу получить доступ к переменной в представлении, которое было создано в контроллере? - PullRequest
4 голосов
/ 03 марта 2011

Как я могу получить доступ к переменной в представлении, которое было создано в контроллере?

Ответы [ 3 ]

9 голосов
/ 03 марта 2011

Либо поместите переменную в модель, которую вы используете для своего представления

, либо используйте переменную 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:)

3 голосов
/ 03 марта 2011

Вам необходимо отправить переменную в представление в ViewModel (параметр метода View()) или в словарь TempData.

1 голос
/ 03 марта 2011

Вы можете добавить его в словарь ViewData [] или (более новую) динамическую ViewBag.

В вашем контроллере:

ViewData['YourVariable'] = yourVariable;
// or
ViewBag.YourVariable = yourVariable;

На ваш взгляд:

<%: ViewData["yourVariable"] %>
// or
<%: ViewBag.YourVariable %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...