2015-10-17 5 views
1

Я пытаюсь получить значение из DataList использовать его в какой-то формулеКак получить значение от datalist в C#?

поэтому я попробовал этот код, и я включил его в случае с 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

Вам необходимо проверить, соответствует ли pricelst, или pricelst.SelectedItem, и обрабатывать эти случаи соответствующим образом. Например, вы можете использовать float.TryParse(...) или нулевой оператор коалесценции ??.

В качестве примера:

Учитывая класс

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

чек на нуль, как это:

Foo 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» как итог !! есть ли другой способ получить значение элемента в datalist? –

+0

@SuperGirl, который не имеет смысла ... это означает, что pricelst.SelectedItem имеет значение null, другими словами он не установлен. Может быть, вам следует показать код ... где вы думаете, что задаете его значение. – Seabizkit

Смежные вопросы