如何从 ASP.NET MVC 3 输出中删除所有空格?
UPDATE:我知道如何使用 string.Replace 方法或正则表达式来删除字符串中的空格;但我不知道如何在 ASP.NET MVC 3 中使用主题来删除输出字符串中的所有空格。例如,当调用“OnResultExecuted”方法并且结果已准备好发送到最终用户的浏览器时,我想获取结果 - 作为 String 或 Stream 对象;他们之间没有区别-,并做好我的工作。
谢谢大家。 :)
我找到了答案并创建了这样的最终解决方案:
首先创建一个基类来强制视图继承它,如下所示,并重写一些方法:
public abstract class KavandViewPage < TModel > : System.Web.Mvc.WebViewPage < TModel > {
public override void Write(object value) {
if (value != null) {
var html = value.ToString();
html = REGEX_TAGS.Replace(html, "> <");
html = REGEX_ALL.Replace(html, " ");
if (value is MvcHtmlString) value = new MvcHtmlString(html);
else value = html;
}
base.Write(value);
}
public override void WriteLiteral(object value) {
if (value != null) {
var html = value.ToString();
html = REGEX_TAGS.Replace(html, "> <");
html = REGEX_ALL.Replace(html, " ");
if (value is MvcHtmlString) value = new MvcHtmlString(html);
else value = html;
}
base.WriteLiteral(value);
}
private static readonly Regex REGEX_TAGS = new Regex(@">\s+<", RegexOptions.Compiled);
private static readonly Regex REGEX_ALL = new Regex(@"\s+|\t\s+|\n\s+|\r\s+", RegexOptions.Compiled);
}
那么我们应该做一些改变web.config
文件位于Views
文件夹 -请参阅此处了解更多详情 https://stackoverflow.com/questions/3239006/how-to-import-a-namespace-in-razor-view-page/6723046#6723046.
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="Kavand.Web.Mvc.KavandViewPage"> <!-- pay attention to here -->
<namespaces>
<add namespace="System.Web.Mvc" />
....
</namespaces>
</pages>
</system.web.webPages.razor>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)