我使用Summernote使用户能够在我的网站上编写HTML电子邮件。 如果用户提交表单,则会提交电子邮件。 由于电子邮件稍微复杂一些额外的数据我使用自定义的ModelBinder,这导致我的问题。
我尝试像这样获取电子邮件文本
argument = request.Form[propertyName] //<-- HttpRequestBase request;
FreeMessageModel看起来像这样。
public class FreeMessageModel : BaseMessageModel
{
private MvcHtmlString m_FreeMessage;
private String m_Subject;
private EmployeeModel m_Employee;
public MvcHtmlString FreeMessage
{
get
{
return m_FreeMessage;
}
set { m_FreeMessage = value; }
}
public String Subject
{
get { return m_Subject; }
set { m_Subject = value; }
}
public EmployeeModel Employee
{
get { return m_Employee; }
set { m_Employee = value; }
}
public String Sender
{
get
{
String from = "someadress");
return from;
}
}
public FreeMessageModel()
{
}
public string GetMailBody()
{
throw new NotImplementedException();
}
}
request.Form[propertyName]
FreeMessage
崩溃
错误消息HttpRequestValidationException。
我知道HTML文本被解释为可能的安全问题。我的问题是如何获取文本以便我自己决定它是否危险?
我读了这个Why do I get HttpRequestValidationException submitting user input with raw html?,但这发生在Modelbinding过程之后。
所以问题是如何在ModelBinding中获取HTML文本而不获取 一个HttpRequestValidationException并且没有关闭我整个应用程序的验证
我正在使用.Net Framework 4.0