将标签文本转换为十进制

时间:2012-08-30 18:46:13

标签: c# asp.net label

我想知道你是否可以将标签转换为小数。我知道这可以通过文本框来完成,但我正在尝试查看它是否适用于标签。这是代码,我收到错误输入消息。

Label sitL = ((Label)FormView2.FindControl("SitUpsLabel"));
Label pushL = ((Label)FormView2.FindControl("pushUpsLabel"));
int count = 0;
int counter2 = 0;
decimal val = Decimal.Parse(sitL.Text);
decimal val2 = Decimal.Parse(pushL.Text);

3 个答案:

答案 0 :(得分:2)

没有问题,但是你不会像在文本框中那样在客户端设置值。标签不会发布到服务器,在我看来,您正在尝试处理用户输入。

如上所述,检查标签的内容是否可以转换为十进制。您可以使用Decimal.TryParse方法返回false,而不是在无法转换字符串时抛出异常。

答案 1 :(得分:0)

问题是您的标签未在客户端

的服务器上发布

答案 2 :(得分:0)

因为您需要标签的值,而用户无法发布该标签的值;通过调用DataBind,我可以非常肯定这些数据已绑定到该标签中。

由于您自己正在为标签提供数据,因此如果您需要这些数据进行处理,可以采用更好的方式获取数据。

您应该使用FormView的DataItem属性。

  

此属性返回的Object的类型取决于   数据源。例如,绑定SqlDataSource控件时   在FormView控件中,返回一个DataRowView对象。

像这样:

var myData = (DataRowView)FormView2.DataItem;
decimal val = myData["sitL"];
decimal val2 = myData["pushL"];