2012-05-30 1 views
0

У меня есть таблица базы данных с вычисленным столбцом. Вычисленный столбец объединяет два имени (первый и последний) в одно отображаемое имя. В приведенном ниже коде я хочу указать значение вычисленного столбца с именем DisplayName. Как мне это сделать? Благодаря!Как указать столбец для отображения в раскрывающемся списке?

FYI, это MVC Beta 4.

<div class="editor-label"> 
    @Html.LabelFor(model => model.PdId, "Pd") 
</div> 
<div class="editor-field"> 
    @Html.DropDownList("PdId", String.Empty) 
    @Html.ValidationMessageFor(model => model.PdId) 
</div> 

ответ

1

Используйте модель представления и сильно типизированный и DropDownListДля помощника. Не могу видеть код, так вот непроверенная псевдо:

public class MyViewModel 
{ 
    public int PdId { get; set; } 
    public IEnumerable<SelectListItem> Names { get; set; } 
} 

вид Заселите модель от контроллера

public ActionResult VIewName(?) 
{ 
    var people = // query  
    var model = new MyViewModel 
    { 
     PdId = people.nameId, 
     FullNames = people.Select(x => new SelectListItem 
     { 
      Value = x.nameId.ToString(), 
      Text = x.FirstName + " " + x.LastName 
     }) 
    }; 
    return View(model); 
} 

В целях использование строго типизированный помощник DropDownListFor

@model MyViewModel 

@Html.DropDownListFor(
    x => x. PdId, 
    Model. FullNames 
) 
0
<div class="editor-label"> 
    @Html.LabelFor(model => model.PdId, "Pd") 
</div> 
<div class="editor-field"> 
    @Html.DropDownListFor(model => model.PdId, Model.DisplayName) 
    @Html.ValidationMessageFor(model => model.PdId) 
</div> 
0

Пока колонна является актуальным полем, оно должно быть вариантом, при подключении к базе данных, когда вы делаете SELECT, в DDL с DISTINCT.

Если это алиас колонок, и быть ссылками с computated колонки затем просто ссылаться на вычисляемый столбце в вашем отборном заявлении на C# стороне ...

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