Возможно ли иметь одно представление для двух действий в asp.net вид бритвы mvc3?

#asp.net #asp.net-mvc #asp.net-mvc-3 #timezone

#asp.net #asp.net-mvc #asp.net-mvc-3 #Часовой пояс

Вопрос:

Мне нужно добавить часовой пояс в поле зрения.

 dynamic viewData = new ExpandoObject();
            viewData.TimeZones = from p in TimeZoneInfo.GetSystemTimeZones()
                                 select new SelectListItem
                                 {
                                     Text = p.DisplayName,
                                     Value = p.Id
                                 };
  

Как я могу отправить «ViewData» для просмотра. Я сделал это в другом действии, но не могу сделать это в том же действии.

Ответ №1:

Вы могли бы использовать ViewBag :

 public ActionResult Index()
{
    ViewBag.TimeZones = 
        from p in TimeZoneInfo.GetSystemTimeZones()
        select new SelectListItem
        {
            Text = p.DisplayName,
            Value = p.Id
        };
    return View();
}
  

и в представлении:

 @Html.DropDownList(
    "SelectedTimeZone", 
    (IEnumerable<SelectListItem>)ViewBag.TimeZones
)
  

Комментарии:

1. Дарин дал вам ответ: вы можете поместить свой часовой пояс в viewbag в своем действии или столько, сколько захотите, и вызвать его в представлении в абзаце или div