Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ViewBag в foreach / 25 сообщений из 59, страница 1 из 3
15.02.2019, 13:06
    #39774418
Sveta82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Приложение по шаблону mvc. В контроллере в методе ActionResult такой код


Код: c#
1.
2.
3.
4.
5.
6.
7.
  ViewBag.users =  from c in userModel.userCollection.AsQueryable<User>() where 
             c.UserName ==(TextBox1) select c;    

               foreach(User u in ViewBag.users)
            {
              ViewBag.message = messageModel.findByUser(u.LastName);          
            }


В метод findByUser попадает значение первого u, и в представлении для каждого юзера выводится одно и то же, полученное в методе по фамилии первого юзера. Подскажите почему?
...
Рейтинг: 0 / 0
15.02.2019, 13:50
    #39774473
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Sveta82,
Программируйте!
Ставьте логирование, бряки, пошаговую отладку.
Это наша работа(с)
...
Рейтинг: 0 / 0
15.02.2019, 14:13
    #39774485
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Sveta82по фамилии первого юзера. Подскажите почему?Действительно, почему первого, хотя должно быть последнего.
...
Рейтинг: 0 / 0
15.02.2019, 14:14
    #39774488
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Зачем тут вообще цикл? И зачем тут вообще ViewBag?
...
Рейтинг: 0 / 0
15.02.2019, 14:57
    #39774538
Sveta82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Shocker.ProSveta82по фамилии первого юзера. Подскажите почему?Действительно, почему первого, хотя должно быть последнего. Да,Вы правы, последнего. Помогите разобраться
...
Рейтинг: 0 / 0
15.02.2019, 14:59
    #39774541
Sveta82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Shocker.ProЗачем тут вообще цикл? И зачем тут вообще ViewBag?
А что можно использовать? Вот застряла и никак не могу найти решение. Подскажите в каком направлении двигаться или пример какой-нибудь
...
Рейтинг: 0 / 0
15.02.2019, 15:02
    #39774546
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Sveta82,
А кто требует?
Я к тому что женскому началу тут труднее в программировании. Се ля ви.
...
Рейтинг: 0 / 0
15.02.2019, 15:08
    #39774554
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Sveta82А что можно использовать?Цикл тут не нужен, потому что вы используете только последнее значение из списка. Можно просто взять последнее значение.

ViewBag для передачи данных из контроллера в представление можно, конечно, но ведь вы же используете MVC! Вот и используйте первую букву - Модель - для того она и предназначена
...
Рейтинг: 0 / 0
15.02.2019, 15:09
    #39774558
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Sveta82Подскажите в каком направлении двигатьсяТут прекрасно всё.
В своё время мне рассказывали, как ввести человека на улице в ступор - подойти к нему и спросить "Извините, вы не подскажете, я правильно иду?".

Вот и вы: что хотите получить - скрываете, но спрашиваете, как сделать.
...
Рейтинг: 0 / 0
15.02.2019, 15:10
    #39774559
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
нужно сделать свою модель, которая будет содержать коллекцию юзеров с их сообщениями, в методе контроллера вы её заполните и вернёте во View, а на страничке из этой заполненной модели всё оттобразите
...
Рейтинг: 0 / 0
15.02.2019, 15:12
    #39774563
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Konst_Oneвернёте во View
почему "вернёте" то?
...
Рейтинг: 0 / 0
15.02.2019, 15:14
    #39774566
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
я так понял, что метод get контроллера, он должен вернуть результат
...
Рейтинг: 0 / 0
15.02.2019, 15:18
    #39774570
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Konst_Oneя так понял, что метод get контроллера, он должен вернуть результатда не, возвращается то View, а модель во View не возвращается, а передается жеж. Ну это так... к слову придрался )
...
Рейтинг: 0 / 0
15.02.2019, 15:18
    #39774571
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
ясно, а то я не то подумал =)
...
Рейтинг: 0 / 0
15.02.2019, 15:44
    #39774603
Sveta82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Shocker.ProSveta82Подскажите в каком направлении двигатьсяТут прекрасно всё.
В своё время мне рассказывали, как ввести человека на улице в ступор - подойти к нему и спросить "Извините, вы не подскажете, я правильно иду?".

Вот и вы: что хотите получить - скрываете, но спрашиваете, как сделать.
Shocker.Pro, база MongoDb. 4 коллекции. Пользователь в textbox вводит значение, идет поиск по коллекции юзеров, затем ищутся сообщения у каждого пользователя, есть еще два похожих метода, которые ищут данные по двум другим коллекциям, просто сюда их писать не стала потому что аналогичны. И затем все это выводится в таблице, информация по каждому юзеру.
Вот примерно так выводятся данные в представлении
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@foreach (var user in ViewBag.users)
            {
                <tr>                 
                    <td>
                        <label><b>Id: </b></label>@user.Id <br>
                        <label><b>Username: </b></label> @user.UserName <br>
                        <label><b> Имя: </b></label>@user.FirstName   @user.LastName<br>
                        <label><b>Сообщения:</b> </label>ViewBag.message

                    </td>
...
Рейтинг: 0 / 0
15.02.2019, 15:45
    #39774605
Sveta82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Shocker.ProSveta82А что можно использовать?Цикл тут не нужен, потому что вы используете только последнее значение из списка. Можно просто взять последнее значение.

ViewBag для передачи данных из контроллера в представление можно, конечно, но ведь вы же используете MVC! Вот и используйте первую букву - Модель - для того она и предназначена
Значит foreach здесь не поможет? Мне казалось, что это самое простое решение. Видимо ошибалась
...
Рейтинг: 0 / 0
15.02.2019, 15:46
    #39774607
Sveta82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Petro123Sveta82,
А кто требует?
Я к тому что женскому началу тут труднее в программировании. Се ля ви.
Не спорю, но это не значит, что не надо пробовать, особенно если это вызывает огромный интерес
...
Рейтинг: 0 / 0
15.02.2019, 15:50
    #39774612
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Sveta82Вот примерно так выводятся данные в представлениину так должен быть вложенный foreach по сообщениям каждого пользователя. А так вы только последнее сообщение выводите.
...
Рейтинг: 0 / 0
15.02.2019, 16:28
    #39774641
Sveta82
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Если вот так
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
@foreach (var user in ViewBag.users)
            {
                <tr>                 
                    <td>
                        <label><b>Id: </b></label>@user.Id <br>
                        <label><b>Username: </b></label> @user.UserName <br>
                        <label><b> Имя: </b></label>@user.FirstName   @user.LastName<br>
                        <label><b>Сообщения:</b> </label>   @foreach (var mes in ViewBag.message)
                        {
                            @mes.Text
}

                    </td>


Все равно последнего юзера данные выводятся для всех
...
Рейтинг: 0 / 0
15.02.2019, 16:35
    #39774646
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
ViewBag.message здесь у вас всего лишь строка, а вам нужна коллекция сообщений, поэтому переделайте свою модель и избавьтесь вообще от ViewBag
...
Рейтинг: 0 / 0
15.02.2019, 16:39
    #39774650
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Sveta82Все равно последнего юзера данные выводятся для всехПотому что данные только последнего юзера и содержатся в ViewBag.message. Вы же не кладете туда данные других юзеров. Вам, кажется, нужно начать с примеров попроще, например

Код: c#
1.
2.
3.
4.
5.
6.
					var j = -1;
					for (var i = 0; i <= 10; i++)
					{
						j = i;
					}
					Console.WriteLine(j);

Чему по вашему будет равно j после окончания цикла?
...
Рейтинг: 0 / 0
15.02.2019, 16:40
    #39774652
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Konst_OneViewBag.message здесь у вас всего лишь строка, а вам нужна коллекция сообщений, поэтому переделайте свою модель и избавьтесь вообще от ViewBagСкорее всего не строка, а коллекция, потому что она его перечисляет в последнем примере.

Совет завести модель дэвушка успешно игнорирует :(
...
Рейтинг: 0 / 0
15.02.2019, 16:50
    #39774663
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Shocker.ProСкорее всего не строка, а коллекция, потому что она его перечисляет в последнем примере.А с другой стороны, можно ведь и строку перечислить ))) Мы все равно не знаем, что возвращает findByUser, авторша весьма скрытная
...
Рейтинг: 0 / 0
15.02.2019, 16:51
    #39774665
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
да, есть такое. одни загадки
...
Рейтинг: 0 / 0
15.02.2019, 16:52
    #39774667
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ViewBag в foreach
Пусть думает над j пока...
Потом надо прочитать учебник по C#
Потом надо прочитать учебник по MVC
А потом уже что-то писать )
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / ViewBag в foreach / 25 сообщений из 59, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]