具有键&#39; City&#39;的ViewData项。属于&#39; System.Int32&#39;但必须是&#39; IEnumerable <selectlistitem>&#39; </selectlistitem>

时间:2014-08-09 08:03:31

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

 <div class="form-box-left">
        <h5>*City :</h5>
     @Html.DropDownList("City", null, "Select City",new { @class="text-box",Id="City"})
        @Html.ValidationMessageFor(model => model.City)
  </div>

     [HttpGet]
    public ActionResult PostRequirement(string Username)
    {
        ViewBag.City = new SelectList(db.Cities, "CityId", "City");
        ViewBag.citylist = _data.getCity();
        ViewBag.BudgetMin = new SelectList(db.Budgets, "Budgetid", "Budget");
        ViewBag.BudgetMax = new SelectList(db.Budgets, "Budgetid", "Budget");
        ViewBag.Locality = new SelectList(db.Areas, "Locality_Id", "Locality");

        return View();
    }

我正在尝试使用下拉列表将城市名称存储在数据库中,但会收到此错误。

1 个答案:

答案 0 :(得分:0)

您需要提供选择列表。

尝试这样做。

@Html.DropDownList(
   "City",
   new SelectList(ViewBag.citylist, "TheCityIdProperty", "TheCityTextOrNameProperty"),
   "Select City",
   new { @class="text-box",Id="City"})