asp.net-mvc-3 – 检查ViewBag是否具有属性,以有条件地注入JavaScript
发布时间:2020-05-23 03:51:31 所属栏目:asp.Net 来源:互联网
导读:考虑这个简单的控制器: Porduct product = new Product(){ // Creating a product object;};try{ productManager.SaveProduct(product); return RedirectToAction(List);}catch (Exception ex){ ViewBag.Er
|
考虑这个简单的控制器: 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);
}
现在,在我的创建视图中,我想检查ViewBag对象,看看它是否有Error属性。如果它有error属性,我需要注入一些JavaScript到页面中,以显示错误消息给我的用户。 我创建了一个扩展方法来检查: public static bool Has (this object obj,string propertyName)
{
Type type = obj.GetType();
return type.GetProperty(propertyName) != null;
}
然后,在创建视图中,我写了这行代码: @if (ViewBag.Has("Error"))
{
// Injecting JavaScript here
}
但是,我得到这个错误:
任何想法? 解决方法你的代码不工作,因为ViewBag是一个 dyanmic object不是一个’真实’类型。以下代码应该工作: public static bool Has (this object obj,string propertyName)
{
var dynamic = obj as DynamicObject;
if(dynamic == null) return false;
return dynamic.GetDynamicMemberNames().Contains(propertyName);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 具有点的窗体元素的MVC Controller参数?
- asp.net – Page.Request.UserHostAddress的格式无效
- asp.net – 自定义控件变为通用的“UserControl”,而不是其
- asp.net-mvc – 变化:*错误地添加到http标头响应(asp.net
- ASP.NET主题 – 应该使用它们吗?
- asp.net – 防止TextBox中的特殊字符
- asp.net-mvc – MVC ViewBag最佳实践
- ASP.NET – 将网站投入生产的基本清单
- 验证 – ASP.Net MVC2:ModelState是无效的,但我不知道为什
- 使用ASP.NET Web API 2.1配置依赖注入
推荐文章
站长推荐
- 如何以编程方式将ListItems添加到ASP.NET中的Dro
- 如何在ASP.NET MVC 4和jquery中使用web api下载文
- asp.net-mvc-3 – Mini Profiler不渲染脚本
- 处理ASP.NET MVC中的异步请求
- asp.net – 使用WebAPI时重新验证模型(TryValida
- asp.net – SQL Server Reporting Services – 运
- asp.net – 如何.NET网站隐藏它们的文件的.aspx扩
- asp.net – 用户控件的属性在回发后失去价值
- 身份验证 – 向webapi承载令牌添加额外的详细信息
- asp.net – WebAPI返回XML
热点阅读
