Bạn không thể chuyển lớp học cho các hành động được chuyển hướng như vậy. Chuyển hướng được thực hiện bằng url. Url là chuỗi, vì vậy nó không thể chứa các lớp học (serializing đối tượng để url là thực sự ra logic ở đây)
Thay vào đó, bạn có thể sử dụng TempData
TempData["searchJob"] = searchJob;
return RedirectToAction ...;
và trong hành động chuyển hướng
Entity.SearchJob = (Entity.SearchJob)TempData["searchJob"] ;
Sau khi thực thi mã ở trên, TempData sẽ không chứa searchJob nữa. TempData thường được sử dụng để đọc một lần.
Nhưng tôi không thích cách trên. Nếu tôi là ở vị trí của bạn, và muốn tìm kiếm việc làm theo tên, tôi sẽ thêm routeParameters như
RouteValueDictionary dict = new RouteValueDictionary();
dict.Add("searchJobName", searchJob.JobName);
và nhận được nó để hành động thông qua tham số
public ActionResult SearchJob(string searchJobName)
{
... do something with name
}
Bằng cách này, bạn sẽ có được người dùng tốt hơn và http thân thiện url và từ điểm hành động của xem, nó sẽ nhận được tất cả các thông số cần thiết từ bên ngoài. Điều này tốt hơn để thử nghiệm, bảo trì, v.v.
Bạn đã xem tài liệu cho 'RedirectToAction' chưa? – bzlm
Bộ điều khiển có hành động SearchJob là gì? Nó có cùng bộ điều khiển không? –
Không có SearchJob là bộ điều khiển và nó có hành động có tên là SearchJob. – Jaggu