2016-03-16 5 views
1

Я хочу отобразить несколько DropDownList MVC5. У меня есть соответствующие классы для одного и того же. Пожалуйста, посоветуйтесь за то же самое. Я совершенно не знаком с MVC.Value (SysId), который нужно сохранить в базе данных, и описание будет отображаться на странице. На веб-странице есть 4 dropdownlists. Все классы имеют одинаковые свойства.Выпадающий список в MVC 5

Просьба помочь в том же ..

public ActionResult Registration() 
{ 
    RegistrationClass obj = new RegistrationClass(); 
    obj = obj.getAllDropdown(); 
    return View(obj); 
} 
public class RegistrationClass 
{ 

[Required(ErrorMessage = "Please enter Name")] 
     [StringLength(50, ErrorMessage = "Name can not be more than 50 characters ")] 
     [DisplayName("Name")] 
     public string name { get; set; } 


     [Required(ErrorMessage = "Please select Gender")] 
     [DisplayName("Gender")] 
     public string gender { get; set; } 

     [Required(ErrorMessage = "Please enter Date of Birth")] 
     [DisplayName("Date of Birth")] 
     [DataType(DataType.Date,ErrorMessage = "Invalid Date ")] 
     public DateTime dob { get; set; } 

     [DisplayName("Caste")] 
     public List<Caste> lcaste { get; set; } 
     public int cast_id { get; set; } 

     public RegistrationClass getAllDropdown() 
     { 
      RegistrationClass obj = new RegistrationClass(); 
      Connection cobj = new Connection(); 
      string strConn = cobj.getConnectionString(); 
      SqlConnection con = new SqlConnection(strConn); 
      SqlCommand cmd = new SqlCommand("proc_get_preference_dropdown", con); 
      SqlDataAdapter ada = new SqlDataAdapter(cmd); 
      DataSet ds = new DataSet(); 
      ada.Fill(ds); 
      if (ds.Tables[0].Rows.Count > 0) 
      { 
       for (int i = 0; i < ds.Tables[0].Rows.Count;i++) 
       { 
        if (ds.Tables[0].Rows[i]["code"].ToString() == "04") // Set Caste Preference 
        { 
         lcaste = new List<Caste>(); 

         Caste obj1 = new Caste(); 
         obj1.decription = ds.Tables[0].Rows[i]["description"].ToString(); 
         obj1.sysId = Convert.ToInt32(ds.Tables[0].Rows[i]["id"]); 
         //obj1.isChecked = "N"; 
         lcaste.Add(obj1); 
         obj.lcaste = lcaste; 
         continue; 
        } 
       } 


      } 

      return obj; 
     } 

public class Caste 
    { 
     public int sysId { get; set; } 
     public string decription { get; set; } 
     public string isChecked { get; set; } 

    } 
} 


@model Matrimony.Models.RegistrationClass 
<tr> 
           <td> 
            @Html.LabelFor(model => model.subcaste) 
           </td> 
           <td> 

            @Html.DropDownListFor(model => model.cast_id, new SelectList(Model.lcaste)) 

           </td> 
          </tr> 

ответ

0

Наконец я решил, добавив простые теги опций.

<td> 
<select name="cast_id"> 
    <option value="0">--Select--</option> 
    @for (int i = 0; i < Model.lcaste.Count; i++) 
    { 
     <option [email protected][i].sysId>@Model.lcaste[i].decription</option> 
    } 

</select> 

</td> 

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

public int cast_id { get; set; } 
public List<Caste> lcaste { get; set; } 

 Смежные вопросы

  • Нет связанных вопросов^_^