gpt4 book ai didi

asp.net-mvc-3 - 如何从 ASP.NET MVC# 输出中删除空格?

转载 作者:行者123 更新时间:2023-12-02 16:01:30 25 4
gpt4 key购买 nike

如何从 ASP.NET MVC 3 输出中删除所有空格?

<小时/>

更新:我知道如何使用 string.Replace 方法或正则表达式来删除字符串中的空格;但我不知道如何在 ASP.NET MVC 3 中使用主题来删除输出字符串中的所有空格。例如,当调用“OnResultExecuted”方法并且结果已准备好发送到最终用户的浏览器时,我想获取结果 - 作为 String 或 Stream 对象;他们之间没有区别-,并做好我的工作。谢谢大家。 :)

最佳答案

我找到了答案并创建了这样的最终解决方案:

首先创建一个基类来强制 View 继承它,如下所示,并重写一些方法:

  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);

}

然后我们应该对位于 Views 文件夹 - see here for more details 中的 web.config 文件进行一些更改。

    <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>

关于asp.net-mvc-3 - 如何从 ASP.NET MVC# 输出中删除空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5197225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com