2010-06-21 1 views
1

Я создаю простую простую страницу ASP.NET MVC 2. Могла сделать страницу редактирования так, как я хочу, но у меня есть проблемы с страницей Index.Использование ASP.NET MVC 2 для отображения объединенной записи

У меня есть таблица tblContacts, которая соединена другой таблицей tblStates, база данных нормализована, поэтому таблица контактов (имя, телефон, адрес, город и т. Д.) Имеет StateId, которая ссылается на таблицу поиска tblStates, которая состоит из tblStates.Id и tblStates.Name.

Использование Linq-To-Sql в этот момент ... У меня есть индекс страницу, на данный момент:

public ActionResult Index() { return View(_repository.ListAll()); } 

В то время как у нас есть данные, контакты в своей славе, я не уверен, как я могу отобразить tblState Имя в представлении?

<%: item.StateID %> <-- how shall I change this into tblState.Name? 

В форме редактирования я был в состоянии отобразить tblStates.Name, делая это:

<%: Html.DropDownList("States", (IEnumerable<SelectListItem>)ViewData["StateID"])%> 

Как мне сделать что-то вроде выше и отобразить на этикетке «правильного» пути? Я знаю, что есть что-то простое, и есть ключевое слово/образец, который я не нахожу. Все образцы кода, которые я нашел, говорят мне, как найти дочерние записи и пройти через него. Посмотрел на SingleOrDefault (..), FirstOrDefault (..), и это не кажется правильным.

Спасибо.

ответ

0

Если связь между tblContacts и tblStates правильно установлен в L2S вы должны быть в состоянии сделать следующее:

public ActionResult Index() { return View(_repository.tblContacts); } 

и затем

<%: item.tblState.Name %> 
0

Извините за задержку, уведен с другими проектами ,

В любом случае вышеуказанное предлагаемое решение не работает. Пошел с EF4 и использовал частичный класс для расширения tblContacts, чтобы вернуть имя штата ... дайте мне знать, если вы хотите получить дополнительную информацию.

Смежные вопросы