2013-10-24 56 views
-1

我在我的MVC應用程序註冊頁面中有一個單選按鈕,文本框,下拉列表,用於保存我在下面使用的選定值(即,爲了檢查目的,我同時使用了兩個在的FormCollection,也是Employee_Info類對象。但在調試的時候,當我使用的FormCollection我獲得選擇的值,但是當Employee_Info對象empObjc我得到它null。爲什麼會這樣,我能做些什麼有什麼。在使用模型類對象時,RadioButton的選定值沒有得到

[HttpPost] 
    [ActionName("EditEmployeeDetails")] 
    public ActionResult EditEmployeeDetails_Post(int personid, 
         Employee_Info empObjc, FormCollection a) 
    { 
     if (ModelState.IsValid) 
     { 
      TryUpdateModel(empObjc);    
      int ModifiedBy = Convert.ToInt16(Session["LoginPersonID"]); 
      empBsnObj.UpdateUserDetailss(personid, empObjc, ModifiedBy); 
      //empContextObj.Entry(empObjc).State = EntityState.Modified; 
      return RedirectToAction("DisplayEmployeeList", "Admin"); 
     } 
     return View(); 
    } 

我的意見是

@model EmployeeManagementDAL.Employee_Info 

<h2>Edit Details</h2> 
@using (Html.BeginForm()) <br/> 
{ <br/> 
<table><tr><td>Is Indian? <br/> <br/> 
</td><td>Yes @Html.RadioButtonFor(x=>x.IsIndian, "Yes") 
     <br/> <br/> No @Html.RadioButtonFor(x=>x.IsIndian, "No") <br/>} 

我作如下修改

public ActionResult EditEmployeeDetails_Post(int id) <br/> 
    { <br/> 
     if (ModelState.IsValid) <br/> 
     { <br/> 
      Employee_Info empObjc = new Employee_Info(); <br/> 
      TryUpdateModel(empObjc);  <br/>   
      int ModifiedBy = Convert.ToInt16(Session["LoginPersonID"]); <br/> 
      empBsnObj.UpdateUserDetailss(id, empObjc, ModifiedBy); <br/> 

      return RedirectToAction("DisplayEmployeeList", "Admin"); <br/> 
     } <br/> 
     return View(); <br/> 
    } 
+0

是否你的看法是緊密結合'@model Employee_Info'加上?添加您的視圖代碼也 –

+0

@Murali更新我的看法 –

+0

正確地設置控制器和動作屬性的形式。它在標籤垃圾郵件的'BeginForm' –

回答

1

我相信你有model specified for the view.

如果你錯過了,請添加類似下面

@model Employee_Info 

@using (Html.BeginForm("EditEmployeeDetails", "Employee")) 
{ 
    <div> 
    @Html.TextBoxFor(m=>m.FirstName) 
    </div> 
} 
相關問題