2014-10-20 1 views
0

Я новичок как ASP.NET MVC и NHibernateСвязывание с DropDownList в ASP.NET MVC4 с помощью NHibernate

Я наткнулся на это требование, которое я должен искать таблицу на дисплее данные в том же стр. Пользователи должны иметь возможность поиска по четырем входам. Имя, идентификатор, дата рождения и город. Первые три должны быть введены в заблуждение, и город должен быть выбран из выпадающего списка, которое заполняется из отдельных значений городской символики.

Я разработал до уровня, который пользователи могут искать по имени, ID, Дата рождения. Но у меня возникают проблемы с привязкой значений к выпадающему списку.

Может кто-то, пожалуйста, помогите мне в этом.

ответ

1

Хорошо, я нашел способ, но я не уверен, что это лучший подход.

новый класс Model

public class Countries 
{ 
    public virtual string citizenship { get; set; } 
} 

в контроллере, в моем случае, как получить и после

TDAL tda = new TDAL(); 

     ////////////////////// 

     List<SelectListItem> list= new List<SelectListItem>(); 
     list.Add(new SelectListItem { Text = "All", Value = "0" }); 
     var cat = tda.getCountries().ToArray(); 
     for (int i = 0; i < cat.Length; i++) 
     { 
      list.Add(new SelectListItem 
      { 
       Text = cat[i].citizenship, 
       Value = cat[i].citizenship.ToString(), 
       Selected = (cat[i].citizenship == "1") 
      }); 
     } 
     ViewData["citizen"] = list; 
     //////////////////////////// 
     return View(); 

класс DAL

public IList<Countries> getCountries() 
    { 
     IList<Ter.Models.Countries> countries; 
     IQuery query; 
     using (ISession session = OpenSession()) 
     { 
      try 
      { 
       query = session 
    .CreateQuery("select distinct citizenship AS citizenship from Ters") 
    .SetResultTransformer(Transformers.AliasToBean<Countries>()); 
      } 
      catch (Exception c) 
      { 
       query = null; 
      } 

      countries = query.List<Countries>(); 
     } 

     return countries; 

    } 

и вид

@Html.DropDownList("citizenship", (IEnumerable<SelectListItem>)ViewData["citizen"], new { id = "citizenship" }) 
Смежные вопросы