asp.net mvc

时间:2015-05-06 07:12:50

标签: asp.net-mvc-4 razor dropdownlistfor

我对下拉列表中的con-cat Firstname和Lastname以及显示列表感到困惑。 我在我的模型中有这个

 public string FullName
    {
        get
        {
            return Firstname+ " " + Lastname ;
        }
    }

在视图中,我希望FullName显示在下拉列表或列表框中 我在视图中尝试下面的代码,但有错误:

 @Html.DropDownList("FullName", String.Empty)
                @Html.ValidationMessageFor(model => model.tbl_hamyaran.FullName)

错误:没有“IEnumerable”类型的ViewData项具有“FullName”键。

我得到了答案。

我只需要在控制器中更改此行:

     ViewBag.sabtkonande_ID = new SelectList(db.tbl_hamyaran, "ID", "Name");

to line:

  ViewBag.sabtkonande_ID = new SelectList(db.tbl_hamyaran, "ID", "FullName");

1 个答案:

答案 0 :(得分:0)

以下是我希望它可以适用于您的代码。

因为视图期望某个源值绑定下拉,默认情况下它认为控制器端有一个viewdata可用。

控制器代码

public ActionResult Index()
        {
            List<SelectListItem> items = new List<SelectListItem>();
            Person person = new Person();
            person.Firstname = "jinesh";
            person.Lastname = "jain";
            items.Add(new SelectListItem() { Text = person.FullName, Value = person.FullName });
            ViewData["FullName"] = items;
}

public class Person
        {
            public string Firstname { get; set; }
            public string Lastname { get; set; }
            public string FullName
            {
                get
                {
                    return Firstname + " " + Lastname;
                }
            }
        }