2014-09-05 61 views
0

我正在使用MVC應用程序。我使用了dropdownlist來選擇值。現在,有一個更新表單,其中有多個項目可以更新。沒有得到當前DropDownList值在MVC中的HTTP發佈

問題是如果我更新該字段並且沒有從dropdownlist中選擇一個項目,它沒有得到現有值,而是顯示Null

怎麼可能得到​​?

查看

<div> 
    @Html.LabelFor(Student => Student.Gender) 
    @Html.DropDownList("Gender","Select Gender") 
</div> 

控制器

[HttpPost] 
    public ActionResult UpdateStudent(Student student) 
    { 
     if (ModelState.IsValid) 
     { 
       var studentToUpdate = (from students in db.Students 
             where students.StudentId == student.StudentId 
             select students).Single(); 

       studentToUpdate.Name = student.Name; 
       studentToUpdate.Gender = student.Gender; 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
     } 
     else 
     { 
      return View(student); 
     } 
    } 

事情是,當我更新的姓名和性別,然後一切工作正常。但是,如果我只更新名稱,則在回發時,下拉框中的值會變爲空,即我需要從下拉列表中選擇一個項目。

+1

plz post相關代碼... – 2014-09-05 16:46:49

回答

0

您還必須分配值,而不僅僅是下拉列表文本。

<option value="volvo">Volvo</option> 
<option selected="selected" value="saab">Saab</option> 

當您指定值時,必須爲下拉列表選項指定相關的值屬性。

這只是一個猜測。

相關問題