Tôi hiện đang có một phương thức trong bộ điều khiển của mình chấp nhận một bộ sưu tập biểu mẫu, lưu dữ liệu và sau đó hiển thị dữ liệu trong trang 'Chi tiết'. Tại thời điểm này, các mã hiện trông giống như sau:Chuyển hướng ASP.NET MVC với kiểu
[HttpPost]
public ActionResult Create(PersonModel person)<br>
{
if (person.IsValid())
{
person.additionalData = "Person created successfully";
return View("Details", person);
}
}
Vấn đề là trả lại chi tiết Hiển thị theo cách này vẫn giữ được URL mysite/Người/Tạo - lý tưởng tôi muốn URL đó thành mysite/Người/Chi tiết/IdGoesHere.
Hãy chắc chắn điều này là có thể. Rõ ràng, tôi có thể sử dụng Response.Redirect, tuy nhiên điều này không cho phép tôi chuyển mô hình cho khung nhìn. Theo như tôi có thể nói, tôi không thể vượt qua mô hình bằng cách sử dụng RedirectToAction?
Cảm ơn sự giúp đỡ.
EDIT: Để xác nhận - mô hình được tạo bởi tác vụ Tạo khác với mô hình mặc định được tạo bởi tác vụ Chi tiết. Do đó, thực hiện chuyển hướng thẳng đến Hành động và chuyển Id không hoạt động như mô hình được tạo không chính xác. Để cung cấp thêm ngữ cảnh, mô hình từ hành động Tạo chứa một giá trị bổ sung cho biết 'Người tạo thành công', nếu tôi chuyển hướng đến hành động Chi tiết, thông báo này không có trong mô hình.
Đây là cách để thực hiện.Nếu một thông điệp đơn giản trong tempdata không đủ, bạn có thể ném toàn bộ đối tượng 'PersonModel' vào tempdata và lấy nó từ tempdata trong phương thức' Details' action của bạn. – Charlino