Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
qrbio
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 39
1

Как правильно использовать ViewBag?

09.08.2017, 16:23. Просмотров 807. Ответов 7
Метки нет (Все метки)

Форумчане, помогите пожалуйста новичку. Вопрос наверное глупый, но никак не могу разобраться.Работаю с небольшим приложением asp.net mvc , которое выводит погоду(текущую и прогноз). Сначала я определяю значение текущей погоды и передаю его во ViewBag(чтобы отобразить дальше во вьюшке). Потом мне надо перезаписать ViewBag и передать туда другое значение. Делаю вот так:
C#
1
2
3
ViewBag.Text = tempC.ToString() + "'C - " + weatherCurrent.weather[0].description.ToString();
        RootObject weatherForecast = await WeatherUndegroundProxy.GetForecastWeather(city);
        ViewBag.Text = weatherForecast.list[1].dt.ToString();
Но значение не перезаписывается и во вьюшке выводится одно и то же. Как сделать, чтобы передавались разные значения?

Добавлено через 5 минут
Вопрос глупый, ответ нашелся. К сожалению, не могу удалить тему.

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

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2017, 16:23
Ответы с готовыми решениями:

Значение из ViewBag использовать в контролере
Подскажите, как вытянуть значения из ViewBag по отдельности? Представление @{ ViewBag.Title...

Как правильно использовать DI?
Приветствую. Хочу реализовать учебный проект, потренироваться во внедрении зависимостей. Использую...

Как правильно использовать кэширование контроллеров?
Добрый день! Подскажите пожалуйста, как правильно использовать кэширование контроллеров, в...

Как обойтись без ViewBag в представлениях
Расказывали, что в больших проектах, ViewBag лучше не использовать а использовать Model и при этом...

Как из viewbag.code записать число в html.editorfor
Передал число в представление, а теперь нужно его отобразить на форме и передать в Материал То...

7
Goal
Футболист
517 / 419 / 140
Регистрация: 31.10.2011
Сообщений: 1,008
Завершенные тесты: 2
10.08.2017, 17:40 2
Не использовать ViewBag
0
Usaga
Эксперт .NET
5874 / 4136 / 730
Регистрация: 21.01.2016
Сообщений: 16,157
Завершенные тесты: 2
11.08.2017, 08:12 3
qrbio, ViewBag принято использовать как хранилище разного рода вспомогательной и служебной фигни (справочные значения для DropDown-в, какие-то признаки наличия\отсутствия прав и тому подобные вещи).

Всё остальное является важными данными и обязательно нужно передавать через модель представления (модель) - явно описанный класс, со свойствами выражающими передаваемые данные.

Откройте любой учебник по ASP.NET MVC и вы всё это увидите прямо в первой же главе.
1.50
Goal
Футболист
517 / 419 / 140
Регистрация: 31.10.2011
Сообщений: 1,008
Завершенные тесты: 2
11.08.2017, 12:46 4
Цитата Сообщение от Usaga Посмотреть сообщение
ViewBag принято использовать
забудьте про вью бег, и не учите глупостям молодых, простите за то что грубо!
0
11.08.2017, 12:46
Usaga
Эксперт .NET
5874 / 4136 / 730
Регистрация: 21.01.2016
Сообщений: 16,157
Завершенные тесты: 2
11.08.2017, 12:55 5
Цитата Сообщение от Goal Посмотреть сообщение
забудьте про вью бег, и не учите глупостям молодых, простите за то что грубо!
Серьёзно? Ваш подход - пихать ВСЁ в модельку? Даже то, что к ней не имеет никакого отношения?
1
qrbio
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 39
13.08.2017, 13:39  [ТС] 6
Как же все-таки в данной ситуации поступить?
У меня есть данные, которые высчитывает контроллер и преобразовывает в текст. Как их вывести во вьюшку?
Так же есть данные , которые преобразовываются в изображение , вот таким способом :
C#
1
2
 string img1 = String.Format("ms-appx:///Content/images/{0}.gif", weather.list[0].weather[0].icon);
(ВьюБэг иличто-нибудь)= new BitmapImage(new Uri(img1, UriKind.Absolute));
Куда записывать текст и изображение и как их передать во вью?

Добавлено через 2 минуты
Думаю, нужно сделать отдельную тему для этого вопроса...
0
Usaga
Эксперт .NET
5874 / 4136 / 730
Регистрация: 21.01.2016
Сообщений: 16,157
Завершенные тесты: 2
13.08.2017, 14:20 7
qrbio, я, как бы, не просто так заикнулся интересным словом "модель". Вы можете открыть любой учебник по ASP.NET MVC и посмотреть как передаются данные в представление. Не вижу смысла расписывать то, что вы сами можете прочитать.
1
Wolfdp
896 / 801 / 207
Регистрация: 15.06.2012
Сообщений: 3,168
Записей в блоге: 1
Завершенные тесты: 1
16.08.2017, 15:47 8
ViewBag имеет смысл использовать в обобщениях. Например у вас два различных Action, с разными моделями, но есть одна общая информация, которая может докидоватся в предобработке. В таком случае либо создавать общую базовую модель, что не всегда удобно, либо добавлять ViewBag, что зачастую и удобно, и понятно, и легко копируемо на новую страничку.

Хз, может есть еще какие-то варианты где он применим, но я пока знаю только этот.

Цитата Сообщение от Goal Посмотреть сообщение
Не использовать ViewBag
окей, а как быть с title на layout?
1
16.08.2017, 15:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2017, 15:47

Как передать в ViewBag значение введённое в html-элемент
как передать в ViewBag значение введённое в html-элемент <input type="text" id="datepicker" />...

ASP.NET MVC как передать переменную из javascript в ViewBag
ASP.NET MVC как передать переменную из javascript в ViewBag Ip_GetUser.js function...

Как можно передать данные в форму, не используя ViewData и ViewBag
Здравствуйте! Возникли проблемы с типами ViewData и ViewBag. Как можно реализовать вызов методов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru