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

时间:2010-10-14 09:37:21

标签: c# asp.net-mvc

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

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

还有另一种方法吗?

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

2 个答案:

答案 0 :(得分:1)

如果你考虑一下,你视图中的代码就是编辑一个字符串。所以,你所做的基本替换是我将如何做到的。

但是,为什么不在模型中进行工作,即提供返回修剪过的字符串的属性?或者更好的是,一种方法? EG:

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

其中:

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

如果没有别的,这看起来更整洁,使视图更容易阅读。

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

你可以这样写:

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

我认为这是我的首选,因为它表达了你正在做的事情

答案 1 :(得分:0)

使用string的Replace方法很好。另一个选择是使用正则表达式,但这更复杂。

但是,您不应该在ASP.NET MVC模板中使用Response.Write - 有一个输出分隔符标记'&lt;%:'表示:

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

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

是不是已经更简洁了?

注意:你应该在MVC 1中使用'&lt;%=',在MVC 2中使用'&lt;%:'。后者清理字符串以防止XSS攻击。