我的模型中有一个属性字符串,其值为“USD 32”,“E 123”......我需要这些字符串的整数部分(“32”,“123”,...)
@{
var number = @Model.MyStringProperty;
}
想法?
答案 0 :(得分:3)
请勿在Razor或View中执行此操作。这完全属于模型。
例如,我们假设该属性如下所示:
public string MyStringProperty { get; set; }
然后你要做的是添加另一个属性来转换这个值:
public int MyStringPropertyAsInt
{
get
{
// string manipulation logic goes here
// possibly something like this:
var numericString = new string(MyStringProperty.Where(x => char.IsDigit(x)).ToArray());
var integerValue = 0;
int.TryParse(numericString, out integerValue);
return integerValue;
}
}
然后在视图中,您只需引用该属性:
@Model.MyStringPropertyAsInt
关键是,View中不应该有很多服务器端代码块。理想情况下,所有数据操作和逻辑都在模型上,而View只是绑定到该模型的公开数据属性。