2015-05-23 20 views
0

在mvc4我試圖從模型數據從視圖到控制器使用Jquery Ajax但現在不要這個代碼有什麼問題可以任何人在這個問題上幫助我。阿賈克斯崗位模型控制器行動

<script src="~/Scripts/jquery-1.8.2.js"></script> 
<script src="~/Scripts/jquery-1.8.2.min.js"></script> 
<script src="~/Scripts/jquery.validate.js"></script> 
<script src="~/Scripts/jquery.validate.min.js"></script> 

<script type="text/javascript"> 

    $(document).ready(function() { 
     $("#save").click(function() { 
      $("#content").html("<b>Please Wait...</b>"); 
      var dataObject = { 
       empid: 1, 
       EmployeeName: "rizwan", 
       Address: "lahore", 
       Country: "pakistan", 
       Salary: "35000.00", 
       DepartmentName: "Field" 
      } 
      $.ajax({ 
       type: "POST", 
       url: "/Home/Index", 
       data: dataObject, 
       success: function (data) 
       { 
        $("#empname").val(''), 
        $("#empadd").val(''), 
        $("#empcountry").val(''), 
        $("#empsalary").val(''), 
        $("#empdeptname").val(''), 
        $("#content").html("<div class='success'>"+data+"</div>") 
       }, 
       error: function (ehr) 
       { 
        $("#content").html("<div class='failed'>Error! Please try again</div>"); 
       }, 
      }) 
     }); 
    }); 
</script> 

這是我的控制器操作的代碼誰只是接收對象的值,並保存到數據庫 問題是,我沒能在接收控制器動作側值。
請幫我.....

[HttpPost] 
public ActionResult Index(userview dataObject) 
{   
    department dept = new department(); 
    employee emp = new employee(); 
    string message = ""; 
    try 
    { 
     emp.employeeName = dataObject.EmployeeName; 
     emp.address = dataObject.Address; 
     emp.country = dataObject.Country; 
     emp.salary = dataObject.Salary; 
     dept.departmentName = dataObject.DepartmentName; 
     db.employees.Add(emp); 
     db.departments.Add(dept); 
     db.SaveChanges(); 
    } 
    catch(Exception ex) 
    { 
     message = "Error! Please try again"; 
    } 
    if (Request.IsAjaxRequest()) 
    { 
     return new JsonResult { Data = message, JsonRequestBehavior = JsonRequestBehavior.AllowGet }; 
    } 
    ViewBag.message = message; 
    return View(); 
} 

這是我的模型類

public class userview 
    { 

     public int empId { get; set; } 
     public string EmployeeName { get; set; } 
     public string Address { get; set; } 
     public string Country { get; set; } 
     public decimal Salary { get; set; } 
     public string DepartmentName { get; set; } 


    } 
+0

沒有關係,但不包括同一個文件的非最小和最小版本 –

+0

您是否在瀏覽器控制檯中收到任何錯誤? –

+0

當我們點擊保存按鈕時,控制器動作端沒有收到值,即使我排除了未定義的文件,我只保留一個縮小版本文件 – user3780510

回答

0

嘗試使用JSON.stringify

$.ajax({ 
       type: "POST", 
       url: "/Home/Index", 
       data: JSON.stringify(dataObject), //Here is the change 
       success: function (data) 
       { 
        $("#empname").val(''), 
        $("#empadd").val(''), 
        $("#empcountry").val(''), 
        $("#empsalary").val(''), 
        $("#empdeptname").val(''), 
        $("#content").html("<div class='success'>"+data+"</div>") 
       }, 
       error: function (ehr) 
       { 
        $("#content").html("<div class='failed'>Error! Please try again</div>"); 
       }, 
      }) 
+0

是的,我嘗試JSON.stringify(dataObject),但我仍然收到相同的問題 – user3780510

+0

您的模型「userview」是一個無參數的構造函數嗎?有時候,添加一個空的構造函數會使模型綁定器工作。不太確定這是爲什麼。 – Romias

+0

所以...嘗試添加構造函數... – Romias