0

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

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);
4

3 回答 3

2

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

话虽如此,请检查标签的内容是否可以转换为十进制。Decimal.TryParse如果字符串无法转换,您可以使用将返回 false 而不是抛出异常的方法。

于 2012-08-30T18:48:09.857 回答
0

问题是您的标签未从客户端发布在服务器上

于 2012-08-30T18:48:51.320 回答
0

因为你想要一个标签的值,它不能被用户发布;我可以很确定这个数据是通过调用绑定到那个标签中的DataBind

由于您自己正在向标签提供数据,因此如果您需要处理这些数据,有一种更好的方法来获取这些数据。

您应该使用 FormView 的DataItem 属性。

此属性返回的 Object 的类型因数据源而异。例如,当 SqlDataSource 控件绑定到 FormView 控件时,将返回一个 DataRowView 对象。

像这样:

var myData = (DataRowView)FormView2.DataItem;
decimal val = myData["sitL"];
decimal val2 = myData["pushL"];
于 2012-08-30T19:13:15.810 回答