asp.net – 不引用MVC的AllowHtml属性
|
我们将业务逻辑层和业务对象分离为一个完全独立的项目/程序集.模型的某些属性可以包含 HTML内容.在业务逻辑的前面,我们有一个ASP.NET MVC Web应用程序,用户可以在其中管理业务对象. >要在特定属性上允许HTML内容,我们必须添加AllowHtml属性.但我们不能,因为我们不想在我们的核心项目中引用System.Web.Mvc. 那么,我们如何向MVC模型绑定器指出我们想要在(并且仅在)某些特定属性上允许HTML内容,而不在我们的业务逻辑层中引用ASP.NET MVC?或者,如何在没有强引用的情况下从另一个程序集注入元数据? 谢谢. 解决方法我必须将BindModel更改为以下(这是基于Russ Cam的答案),以便检查实际属性的属性.我也看了 this的答案寻求帮助:public override object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext)
{
var holderType = bindingContext.ModelMetadata.ContainerType;
if (holderType != null)
{
var propertyType = holderType.GetProperty(bindingContext.ModelMetadata.PropertyName);
var attributes = propertyType.GetCustomAttributes(true);
var hasAttribute = attributes
.Cast<Attribute>()
.Any(a => a.GetType().IsEquivalentTo(typeof(MyAllowHtmlAttribute)));
if (hasAttribute)
{
bindingContext.ModelMetadata.RequestValidationEnabled = false;
}
}
return base.BindModel(controllerContext,bindingContext);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET开发服务器或本地主机IIS?
- asp.net-mvc – 如何将html5属性和值导入mvc HiddenFor
- asp.net-mvc – ScriptBundle中的{version}是什么(“/ scri
- asp.net – 如何在mvc中使用自定义成员身份添加更多自定义字
- asp.net-mvc – Linq选择语句 – 不在的地方
- asp.net-mvc-3 – 局部视图中的RenderSection
- asp.net – “连接字符串指定本地Sql Server Express实例”
- asp.net – K运行时使用的.Net完整框架和.Net Core Framewo
- ASP.NET API版本控制
- asp.net – Fulltext Query String的全文查询参数无效
- asp.net-mvc – 首先通过NuGet尝试StructureMap和
- ASP.NET MVC UrlHelper.GenerateUrl异常:“无法
- 为什么在ASP.NET Web API中从请求中删除内容范围
- asp.net – 如何删除日历的最后一周
- asp.net-mvc – 无法加载文件或程序集’System.W
- asp.net-mvc – 如果使用HTML内容,我可以写入内联
- asp.net – 如何在使用edmx文件时在连接字符串中
- asp.net – 与SQL Server建立连接时出现网络相关
- asp.net-mvc – 在ASP.NET MVC应用程序中记录用户
- asp.net-mvc – asp.net mvc中的内容文件夹是否神
