更新:使用伪代码中的语句添加Nancy
以反映非ASP.NET使用情况。
我目前正在做类似的事情:
using Nancy.Helpers;
// ...
public static IHtmlString DoSomething<T>(this HtmlHelpers<T> helper) {
return new NonEncodedHtmlString(HttpUtility.HtmlEncode("..."));
}
用于编码HTML。但是,将编码值传递给NonEncodedHtmlString
类感觉不对,但我没有看到任何其他类可用。是否有一些我想念的Nancy特定的东西?
注意:我希望找到一个免费的EncodedHtmlString类,它会接受一个字符串并返回其编码版本。
注意2:由于没有特殊原因(此时只是个人偏好),我试图避免使用System.Web
/ System.Web.Mvc
来处理编码,而只依赖于Nancy
- 班。
答案 0 :(得分:0)
在南希:
NonEncodedHtmlString
类不会在实例化时对参数进行编码。
EncodedHtmlString
类将在实例化时对参数进行编码。
我同意你的看法,感觉有些不对劲。
请参阅here:
public EncodedHtmlString(string value)
{
this.encodedValue = HttpUtility.HtmlEncode(value);
}
public NonEncodedHtmlString(string value)
{
this.value = value;
}
此外,您尝试避免使用System.Web
是合理的,因为Nancy会定位.Net客户端配置文件,如果您想要定位它。
有些人可能会争辩
从.NET Framework 4.5开始,客户端配置文件已经存在 已停止使用,只有完整的可再发行软件包可用。
然而,如果微软本身不使用它,那么为什么要使用System.Web
?{/ 1}}