2017-01-28 8 views
0

У меня есть модель запуска, которую я отправляю в режим просмотра.Html.DisplayNameFor не показывать данные (.net mvc)

public class Run 
{ 
    public List<Car> cars{get; set;} 
    public Bike bike{get; set;} 
} 

public class Car 
{ 
    public name {get; set;} 
    public Model {get; set;} 
} 

public class Bike 
{ 
    public name {get; set;} 
    public Model {get; set;} 
} 

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

@Html.DisplayNameFor(model => model.cars.Name) 

В заголовке таблицы я пытаюсь это сделать.

Это не работает. В нем говорится, что какая-то ссылка отсутствует ?!

В моем представлении я могу показать все данные MODEL. Но я просто не могу показать товарную текст

На мой взгляд, у меня также есть

@using //Namespace to model folder 

Что не так?

+1

Можете ли вы поделиться сообщением об ошибке и частью кода вашего вида –

+2

'model.cars.Name' пытается получить доступ к' Name' из 'List '. 'Список ' не имеет имени. Если вы хотите, чтобы имена всех вещей, содержащихся в 'List ', перебирались по« списку ». – GSerg

+0

Ваш список может быть пустым. Попробуйте инициализировать его в конструкторе или где-то еще –

ответ

0

Я думаю, что ваши Автомобили пустые. Вы проверить погоду Отсчет> 0

@ if (Model.Cars!=null && Model.Cars.Any()) 
    { 


    @foreach (var item in Model.Cars) 
    { 
     @Html.DisplayNameFor(i=> i.Name) 
    } 
    } 

Лучше всего иметь, как это в вашей модели, чтобы избежать пустых эталонные ошибки

public class Run 
{ 
    public Run() 
    { 
     cars = new List<Car>() 
    } 
    public List<Car> cars{get; set;} 
    public Bike bike{get; set;} 
} 
+0

'@ Html' помощники работают исправно, если что-то, что они пытаются получить, это' null'. 'i => i.Name' внутри' foreach (элемент var) 'также не имеет смысла. – GSerg

+0

привет @GSerg вы правы, но у меня есть инструкция if, которая проверяет, есть ли у нее какие-либо Автомобили в ней, а затем перебирается через нее. Также в моем ответе –

0

У меня есть вопросы , как вы заявляете без имени или данных типа для имени и модальной собственности

public class Car 
{ 
    public name {get; set;} 
    public Model {get; set;} 
} 

после полного логического контроллера