Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 39

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

09.08.2017, 16:23. Показов 3831. Ответов 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
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2017, 16:23
Ответы с готовыми решениями:

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

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

Как правильно использовать таймер?
Вопрос простой. Как данный таск запустить по таймеру? public async Task<IActionResult> Index() { ...

7
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
10.08.2017, 17:40
Не использовать ViewBag
0
Эксперт .NET
 Аватар для Usaga
14090 / 9308 / 1348
Регистрация: 21.01.2016
Сообщений: 34,956
11.08.2017, 08:12
qrbio, ViewBag принято использовать как хранилище разного рода вспомогательной и служебной фигни (справочные значения для DropDown-в, какие-то признаки наличия\отсутствия прав и тому подобные вещи).

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

Откройте любой учебник по ASP.NET MVC и вы всё это увидите прямо в первой же главе.
1.50
Футболист
 Аватар для Goal
533 / 435 / 142
Регистрация: 31.10.2011
Сообщений: 1,010
11.08.2017, 12:46
Цитата Сообщение от Usaga Посмотреть сообщение
ViewBag принято использовать
забудьте про вью бег, и не учите глупостям молодых, простите за то что грубо!
0
Эксперт .NET
 Аватар для Usaga
14090 / 9308 / 1348
Регистрация: 21.01.2016
Сообщений: 34,956
11.08.2017, 12:55
Цитата Сообщение от Goal Посмотреть сообщение
забудьте про вью бег, и не учите глупостям молодых, простите за то что грубо!
Серьёзно? Ваш подход - пихать ВСЁ в модельку? Даже то, что к ней не имеет никакого отношения?
1
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 39
13.08.2017, 13:39  [ТС]
Как же все-таки в данной ситуации поступить?
У меня есть данные, которые высчитывает контроллер и преобразовывает в текст. Как их вывести во вьюшку?
Так же есть данные , которые преобразовываются в изображение , вот таким способом :
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
Эксперт .NET
 Аватар для Usaga
14090 / 9308 / 1348
Регистрация: 21.01.2016
Сообщений: 34,956
13.08.2017, 14:20
qrbio, я, как бы, не просто так заикнулся интересным словом "модель". Вы можете открыть любой учебник по ASP.NET MVC и посмотреть как передаются данные в представление. Не вижу смысла расписывать то, что вы сами можете прочитать.
1
Эксперт .NET
 Аватар для Wolfdp
3789 / 1766 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
16.08.2017, 15:47
ViewBag имеет смысл использовать в обобщениях. Например у вас два различных Action, с разными моделями, но есть одна общая информация, которая может докидоватся в предобработке. В таком случае либо создавать общую базовую модель, что не всегда удобно, либо добавлять ViewBag, что зачастую и удобно, и понятно, и легко копируемо на новую страничку.

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

Цитата Сообщение от Goal Посмотреть сообщение
Не использовать ViewBag
окей, а как быть с title на layout?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.08.2017, 15:47
Помогаю со студенческими работами здесь

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

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

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

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

ASP.NET MVC как передать переменную из javascript в ViewBag
ASP.NET MVC как передать переменную из javascript в ViewBag Ip_GetUser.js function getgeoip(p) { @ViewBag.IP=p.ip; }


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru