![](/img/trans.png)
[英]Most succinct way to populate an MVC Dropdown from database with composite value?
[英]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.