繁体   English   中英

在MVC视图中从模型属性值中删除空格的简洁方法

[英]Succinct way to remove whitespace from model property values in MVC view

我正在使用MVC,在我的视图中,我正在使用视图模型中某些属性的值将类分配给各个div,等等。

但是,这些值包含空格,我需要在呈现HTML之前删除空格。

还有另一种方法吗?

<% Response.Write(benefit.Name.Replace(" ","")); %>

如果您考虑一下,视图中的代码就是编辑一个字符串。 因此,您将要做的是一个基本的替换操作。

但是,为什么不在模型中工作,即提供返回修剪后的字符串的属性呢? 还是更好的方法? 例如:

<%: Model.ReplaceWS(benefit.Name); %>

哪里:

public string ReplaceWS(string s)
{
   s = s.Replace(" ", "");
   return s;
}

如果没有其他问题,这看起来更整洁,并使视图更易于阅读。

您还可以为字符串创建扩展方法(可以通过在扩展方法定义中使用给定的名称空间来限制可见性)

这样,您可以编写:

<%: benefit.Name.ReplaceWS(); %>

我认为这是我的首选,因为它表示您在做什么

使用字符串的Replace方法很好。 另一种选择是使用正则表达式,但这更加复杂。

但是,您实际上不应该在ASP.NET MVC模板中使用Response.Write -为此,有一个输出分隔符标记“ <%:”:

<%: benefit.Name.Replace(" ","") %>

请注意,使用'<%:'标记时不需要分号。

这不是更简洁吗?

注意:您应该在MVC 1中使用'<%=',在MVC 2中使用'<%:'。后者对字符串进行清理以防止XSS攻击。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM