asp.net mvc razor获取字符串的整数部分

时间:2013-12-28 00:12:12

标签: asp.net-mvc string razor

我的模型中有一个属性字符串,其值为“USD 32”,“E 123”......我需要这些字符串的整数部分(“32”,“123”,...)

@{
    var number = @Model.MyStringProperty;
}

想法?

1 个答案:

答案 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只是绑定到该模型的公开数据属性。