Vì vậy, tôi có một số ViewBag.Something
và dữ liệu này được tạo ngẫu nhiên. Theo quan điểm của tôi, tôi đặt nó thành một nhãn như vậy @Html.LabelFor(m => m.Something, (string)ViewBag.Something)
. Điều này hoạt động tốt nhưng khi tôi gửi biểu mẫu có thể có lỗi và nếu có lỗi, tôi cần nhãn này để giữ nguyên, tôi không muốn dữ liệu động/ngẫu nhiên nữa nên tôi sẽ không gọi phương thức bộ điều khiển được tạo ViewBag này. Có cách nào để giữ lại giá trị này mà không có một số biến riêng trong bộ điều khiển của tôi không? Một số cách tốt đẹp mà MVC/Razor hiện nó?Làm cách nào để lưu dữ liệu ViewBag sau một bài đăng biểu mẫu?
Trả lời
Khi nhận, hãy thiết lập mô hình, đặt mô hình động và khi return view()
đang được thực thi, hãy thực hiện return view(model)
. Sau đó, trong chế độ xem, hãy thiết lập trường ẩn có thể tiếp tục truyền giá trị cần thiết. Tôi đã chọn để đi tuyến đường này bởi vì tôi không phải lo lắng về bất kỳ mã máy chủ để làm cho công việc này trên một bài và tôi không phải lo lắng về bất kỳ phiên.
Lựa chọn 1:
Vượt qua giá trị của "ViewBag.Something" để điều khiển bằng cách sử dụng các giá trị đường:
@Html.ActionLink("ButtonText", "ActionName", new { Something = @ViewBag.Something })
Phương án 2: Bạn có thể sử dụng TempData.
public ActionResult Index()
{
var Something = "YOURVALUE";
TempData["Something"] = Something;
.......
}
public ActionResult OtherAction()
{
var Something = TempData["Something "];
...........
}
Đi qua nhà nước giữa các phương pháp hành động
phương pháp hành động có thể phải truyền dữ liệu đến hành động khác, chẳng hạn như nếu một lỗi xảy ra khi một hình thức đang được đăng, hoặc nếu phương pháp này phải chuyển hướng đến thêm phương pháp, như có thể xảy ra khi người dùng được chuyển hướng đến chế độ xem đăng nhập và sau đó quay lại phương thức hành động gốc.
Phương thức hành động có thể lưu trữ dữ liệu trong đối tượng TempDataDictionary của bộ điều khiển trước khi nó gọi phương thức RedirectToAction của bộ điều khiển để gọi hành động tiếp theo. Giá trị thuộc tính TempData được lưu trong trạng thái phiên. Bất kỳ phương thức hành động nào được gọi sau giá trị TempDataDictionary được đặt có thể nhận các giá trị từ đối tượng và sau đó xử lý hoặc hiển thị chúng. Giá trị của TempData vẫn tồn tại cho đến khi nó được đọc hoặc cho đến khi hết phiên. TempData bền vững theo cách này cho phép các tình huống như chuyển hướng, bởi vì các giá trị trong TempData có sẵn ngoài một yêu cầu duy nhất.
vì vậy tôi sẽ lưu trữ ViewBag.Something trong một TempData khi tôi nhấn nộp và nếu có điều gì sai, nó sẽ có sẵn để sử dụng? Điều đó có thể tạo ra vấn đề bởi vì nhãn của tôi đang được phổ biến từ ViewBag và tôi đoán bây giờ tôi sẽ cần phải có một số loại nếu? – Pittfall
Xem cập nhật của tôi để biết thêm một tùy chọn khác mà bạn có thể dùng thử. –
Cảm ơn sự giúp đỡ, nó trông tốt nhưng tôi đã đi theo một hướng khác nhau vì vậy tôi không thể chấp nhận câu trả lời của bạn – Pittfall
Hiển thị tin nhắn trong viewbag sau khi công bố (Tôi sử dụng phương pháp này)
ActionResult SubmitUser(){
ViewBag.Msg =TempData["Msg"];
return view();
}
[HtttpPost]
ActionResult SubmitUser(){
TempData["Msg"] ="Submitted Successfully"];
return view();
}
Giá trị được gửi để có được phương pháp ..
- 1. Lưu dữ liệu qua bài đăng jQuery ajax với biểu mẫu gửi
- 2. làm cách nào để giữ dữ liệu biểu mẫu sau khi gửi biểu mẫu bằng javascript?
- 3. Django: Làm cách nào để chuyển hướng bài đăng và chuyển vào dữ liệu bài đăng
- 4. Chrome: Nguồn dữ liệu bài đăng?
- 5. Dữ liệu biểu mẫu bài đăng bằng cách sử dụng HttpWebRequest
- 6. Làm cách nào để lưu dữ liệu từ biểu mẫu bằng Bộ nhớ cục bộ HTML5?
- 7. Đăng dữ liệu JSON qua một biểu mẫu trong MVC4
- 8. làm cách nào để gửi lại biểu mẫu bài đăng đa dạng/biểu mẫu dữ liệu với tệp tải lên lên máy chủ khác với node.js (express.js)?
- 9. Bài đăng biểu mẫu không chứa dữ liệu hộp văn bản [ASP.NET C#]
- 10. Thứ tự dữ liệu trong biểu mẫu bài đăng có giống như trong biểu mẫu web không?
- 11. Có cách nào để xử lý dữ liệu bài đăng biểu mẫu trong bộ điều khiển Web Api không?
- 12. Làm cách nào để đăng dữ liệu biểu mẫu lên cửa sổ mới bằng jQuery/AJAX?
- 13. Rails/Haml: Cách tạo biểu mẫu bài đăng?
- 14. Làm cách nào để buộc trình duyệt không lưu trữ dữ liệu trường biểu mẫu html?
- 15. httplistener với dữ liệu bài đăng
- 16. iOS Safari bị lỗi với biểu mẫu dữ liệu bài đăng lớn gửi
- 17. django, quay lại trang trước sau biểu mẫu BÀI ĐĂNG gửi
- 18. Đang chuyển hướng bài đăng biểu mẫu HTTP
- 19. Làm thế nào để ngăn chặn jQuery ajax sau khi chuyển hướng sau khi đăng bài?
- 20. Dữ liệu đăng bài JQuery $ .ajax() trong một servlet java
- 21. Tôi làm cách nào để ghi lại dữ liệu bài đăng RESTful?
- 22. jQuery nhận dữ liệu bài đăng
- 23. Nhận dữ liệu bài đăng, Zend Framework
- 24. Apache HttpClient tạo biểu mẫu nhiều bài đăng
- 25. Viết dữ liệu bài đăng để gửi bằng PHP
- 26. Html.ActionLink() có đăng dữ liệu biểu mẫu không?
- 27. Tôi làm cách nào để truy cập dữ liệu bài đăng từ trò chơi scala?
- 28. Làm cách nào để gửi dữ liệu bài đăng và tiêu đề bằng Chromium?
- 29. Làm cách nào để hợp nhất dữ liệu người dùng sau khi đăng nhập?
- 30. Dữ liệu bài đăng thô là gì
Điều này có vấn đề về bảo mật. Nếu ai đó kiểm tra mã họ sẽ có thể nhận hoặc thậm chí sửa đổi dữ liệu ... Còn nếu đó là một đối tượng thì sao? – Nick