Tôi đã gặp phải sự cố tiếp theo:'System.Dynamic.DynamicObject' không chứa định nghĩa cho 'PropertyName'
Tôi đang cố chạy trang web NET MVC để sử dụng ViewBag để chuyển một số dữ liệu đến Lượt xem. Đây là phương pháp mà tôi thiết lập VeiwBag.
[HttpGet]
[AllowAnonymous]
public ActionResult Start()
{
ViewBag.BanReason = null;
int userId;
//Request with UserId, display ban reason if necessary
if (Request.Params["UserId"] != null && int.TryParse(Request.Params["UserId"], out userId))
{
ViewBag.BanReason = CheckIfUserBanned(userId);
}
ViewBag.Users = MvcApplication.Users;
return View();
}
Khi tôi gán giá trị cho các ViewBag (ví dụ ViewBag.BanReason = null;) Tôi đã có RuntimeBinderException với thông điệp
'System.Dynamic.DynamicObject' không chứa một định nghĩa cho 'BanReason'.
Tôi đang sử dụng Visual Studio 2012 với .NET 4.5 và máy chủ IIS cục bộ với ApplicationPool với .NET 4.0. Trên máy tính khác có cùng cấu hình, tất cả đều hoạt động tốt và không có ngoại lệ nào được ném.
Vui lòng không khuyên sử dụng các kỹ thuật khác như ViewData [""] và Tạo mô hình riêng biệt, tôi không muốn thay đổi mã hoạt động độc đáo trên máy khác.
Tôi nghĩ đây là sự cố cấu hình sai. Mọi dự đoán sẽ được đánh giá cao. Cảm ơn
cho chúng ta thấy mã nơi bạn đang sử dụng 'ViewBag.BanReason' – Satpal
Đó là sử dụng trong Start.cshtml @if (ViewBag.BanReason!= null) { } – Groove
Bạn có thể đăng theo dõi ngăn xếp không? – Slavo