Как создать и использовать два или более ViewData.Model

имеет элемент массива и вызов массива files содержит все необходимые вам материалы

var file = document.getElementById("upload");

file.addEventListener("change", function() {
    for (var i = 0; i < file.files.length; i++) {
        console.log(file.files[i].name);
    }
}, false);
1
задан Bill the Lizard 11 December 2011 в 22:50
поделиться

2 ответа

Просто создайте ViewModel и передайте ее вашему View:

public class IndexViewModel 
{
   public IEnumerable<Friend> Friends { get; set; }
   public IEnumerable<Mesta> Mesto { get; set; }
}

Чтобы это сработало, вам сначала нужно настроить метод действия примерно таким:

public ActionResult Index()
{
        ViewData["Message"] = "Moji Priatelia";
        var friends = from friend in friendsDb.FriendsTables
                      orderby friend.Priezvisko
                      select friend;
        var mesto = from mesta in friendsDb.MestoTables
                    orderby mesta.Mesto
                    select mesta;

        var ViewModel = new IndexViewModel {
            Friends = friends,
            Mesto = mesto
        }

        return View(ViewModel);
}

Теперь ваше View должно быть строго типизировано с помощью Тип IndexViewModel .

Доступ к вашим участникам будет выглядеть примерно так:

<%: Model.Friends %>
<%: Model.Mesto %>

ViewModels - это тот путь, который можно использовать, когда вам нужно показать сложные данные в ваших представлениях, которые на самом деле не проецируют модель предметной области.

2
ответ дан 2 September 2019 в 23:50
поделиться

Лучше всего, вероятно, заключить два ваших объекта в другой объект и передать его вашему представлению.

Например:

public class FriendsMestoDataContext()
{
    public IEnumerable<Friends> friends{get;set;}
    public IEnumerable<Mesto> mesto{get;set}
}

Затем вы можете передать этот новый объект своему представлению и получить доступ к свойствам друзей и mesto, которые будут двумя классами, которые вы возвращаете из запросов Linq:

public ActionResult Index() 
{
            ViewData["Message"] = "Moji Priatelia";
            var friendsData = from friend in friendsDb.FriendsTables
                          orderby friend.Priezvisko
                          select friend;
            var mestoData = from mesta in friendsDb.MestoTables
                        orderby mesta.Mesto
                        select mesta;
            var dataModel = new FriendsMestoDataContext(){
                                            friends = friendsData,
                                            mesto = mestoData}


            return View(dataModel);
}

ОБНОВЛЕНИЕ

Как Шахарьяр сказал ниже, что вам нужно сильно напечатать свое представление с помощью FriendsMestoDataContex .

0
ответ дан 2 September 2019 в 23:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: