Рассмотрим этот простой контроллер:
Porduct product = new Product(){
// Creating a product object;
};
try
{
productManager.SaveProduct(product);
return RedirectToAction("List");
}
catch (Exception ex)
{
ViewBag.ErrorMessage = ex.Message;
return View("Create", product);
}
Теперь, в моем представлении Create
, я хочу проверить ViewBag
объект, чтобы увидеть, имеет ли он свойство Error
или нет.Если у него есть свойство error, мне нужно добавить JavaScript на страницу, чтобы показать сообщение об ошибке моему пользователю.
Я создал метод расширения, чтобы проверить это:
public static bool Has (this object obj, string propertyName)
{
Type type = obj.GetType();
return type.GetProperty(propertyName) != null;
}
Затем в представлении Create
я написал следующую строку кода:
@if (ViewBag.Has("Error"))
{
// Injecting JavaScript here
}
Однако я получаю эту ошибку:
Невозможно выполнить привязку во время выполнения для нулевой ссылки
Есть идеи?