簡體   English   中英

使用Nhibernate綁定到ASP.NET MVC4中的DropDownList

[英]Binding to a DropDownList in a ASP.NET MVC4 using Nhibernate

我是ASP.NET MVC和Nhibernate的新手

我遇到了這個要求,我必須搜索一個表才能在同一頁面中顯示數據。 用戶應該能夠通過四個輸入進行搜索。 姓名,身份證,出生日期和城市。 應該鍵入前三個,並從一個下拉列表中選擇城市,該下拉列表由城市同盟的不同值組成。

我已經開發了一個級別,用戶可以從名稱,ID,出生日期進行搜索。 但是我在將值綁定到下拉列表時遇到麻煩。

有人可以幫我這個忙。

好的,我找到了一種方法,但是我不確定這是否是最好的方法。

一個新的模型類

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

在控制器中,以我為例,在get和post中

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" })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM