2015-10-17 49 views
1

我正在尝试从一个DataList值在一些公式如何从c#中的datalist获取值?

使用它,所以我尝试此代码,我把它在OnClick按钮事件:

float fQ = float.Parse(Qtytb.Text); 
float ftotal; 
float fitem = float.Parse(pricelst.SelectedItem.ToString()); 
ftotal = fQ * fitem; 
totaltb.Text = ftotal.ToString(); 

但它给了我空指针此时例外

(float fitem = float.Parse(pricelst.SelectedItem.ToString());) 

我该如何获得该功能?

+0

你应该检查'pricelst.SelectedIndex> = 0'。 –

回答

0

您需要检查pricelstpricelst.SelectedItem是否为空并适当地处理这些情况。例如,您可以使用float.TryParse(...)或空合并运算符??

作为一个例子:

鉴于类

private class Foo 
    { 
     public string SelectedItem { get; set; } 
    } 

检查空像这样:

美孚pricelst =新的Foo();

float fitem; 

    if(float.TryParse(pricelst.SelectedItem, out fitem)) 
    { 
     // set defaults here 
     fitem = 0; 
    } 
1

下面添加验证

if(pricelst.SelectedItem != null) 
{ 
    //your code.... 

} 
0

尝试

var selectedItemValue = pricelst.SelectedItem == null ? "0" : pricelst.SelectedItem.ToString(); 
var selectedItemFloat = float.Parse(selectedItemValue); 
var fQ = float.Parse(Qtytb.Text); 
var ftotal = fQ * selectedItemFloat; 
totaltb.Text = ftotal.ToString(); 
+0

它给我总共“0”!有没有其他方法可以获得数据列表中元素的值? –

+0

@SuperGirl没有意义......这意味着pricelst.SelectedItem为空,换句话说它没有设置。也许你应该显示代码......你认为你将它设置为一个值。 – Seabizkit

相关问题