2014-09-02 31 views
0
`  public ActionResult Edit(int id = 0) 
    { 
     property property = db.Properties.Find(id); 

     try 
     { 
      ViewBag.City = new SelectList(db.Cities, "CityId", "City", property.CityId); 
      ViewBag.Locality_Id = new SelectList(db.Areas, "Locality_Id", "Locality", property.Locality_Id); 
      ViewBag.citylist = _data.getCity(); 
      ViewBag.typeproperty = _data.TypeProperty(); 
      ViewBag.Rooms = _data.RoomDetails(); 
      ViewBag.bath = _data.Bathroom(); 
      ViewBag.twowheel = _data.twowheeler(); 
      ViewBag.fourwheel = _data.fourwheeler(); 
      ViewBag.dir = _data.Direction(); 
      ViewBag.floor = _data.Flooring(); 
      ViewBag.water = _data.WaterSupplies(); 
      ViewBag.furnish = _data.Furnishes(); 
      ViewBag.Amenities = new SelectList(db.Amenities, "AmenitiesId", "Amenitie"); 
     } 
     catch (Exception ex) 
     { 
      Console.Write(ex.InnerException.StackTrace.ToString()); 
     } 



     if (property == null) 
     { 
      return HttpNotFound(); 
     } 
     return View(property); 
    }`  

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

相同的代码,但不在编辑页面上。我改变了我的代码,但仍未提交数据。虽然时间过得还可以。具有关键的ViewData的项目“CityId”的类型“System.Int32”的,但必须是类型“的IEnumerable <SelectListItem>”我使用的创建页面及其工作有

+0

我们可以看到编辑和创建操作方法的控制器代码吗? – JTMon 2014-09-02 12:35:59

回答

0

您传递null作为Html.DropDownList的元素。在这种情况下,引擎从ViewData字典中的“CityId”的键下选取元素。我假设有一个Int32类型的对象(即ViewData [“CityId”])。这是默认行为。

+0

但是ho wis它为创建页面工作呢? – 2014-09-02 11:47:51

1

下面的代码是使用空的DropDownList的例子:

@Html.DropDownList("CityId", Enumerable.Empty<SelectListItem>(), "Select City", new { @class = "text-box", Id = "City" }) 

来填充相关数据,你可以使用ViewBag发送数据一个DropDownList。

例子:

首先,你需要到市疮列表分为ViewBag.City

ViewBag.City = new SelectList(cityList, value, text, selectedCity) 

然后你可以使用ViewBag.City到DropDownList。

@Html.DropDownList("CityId", ViewBag.City as SelectList, "Select City", new { @class = "text-box", Id = "City" }) 
+0

这样就不会为编辑页面选择城市。它甚至没有选择城市名单。 – 2014-09-02 11:45:30

+0

我想要一个特定的城市被选中,除了填充城市列表。这样我就能够获得城市的名单。 – 2014-09-02 12:33:50

+0

@Smokingmonkey,选定的值将是属性'CityId'的值,所以如果您在模型中设置了值“CityId = 5”,并且您有一个值为5的'SlectListItem',那么它将被选中。 – 2014-09-04 10:20:11

相关问题