2011-12-07 16 views
0

我正在加載用戶控件,該控件裏面有一個下拉列表,放入一個頁面(Mypage)。我已將EnableViewstate設置爲False以供用戶控制。現在控件加載正常,數據也被正確綁定到下拉列表中。在頁面的保存事件中,我驗證了用戶控件中的所有控件。dropdownlist.SelectedValue錯誤

   if(int.Parse(ddSuffix.SelectedValue) >= 0) 
      { 
Suffix s = new Suffix(); 
       s.Description = ddSuffix.SelectedItem.Text; 
       s.ID = int.Parse(ddSuffix.SelectedValue); 
...... 
} 

我得到「輸入字符串的格式不正確」。 on if(int.Parse(ddSuffix.SelectedValue)> = 0)

P.S:不管我爲下拉列表選擇一個值還是不選擇ddsuffix.SelectedValue爲「」。這是因爲我禁用了usercontrol的視圖狀態?

HTML呈現的樣子:提前

<select name="ctl00$DefaultContent$QuoteWizard$Customer1$ddSuffix" id="ctl00_DefaultContent_QuoteWizard_Customer1_ddSuffix" class="TextNormal" style="width:67px;"> 
          <option value="0">Select</option> 
          <option value="1">Jr.</option> 
          <option value="2">Sr.</option> 
          <option value="3">II</option> 
          <option value="4">III</option> 
          <option value="5">IV</option> 
          <option value="6">V</option> 

         </select></td> 

感謝

BB

回答

1

我將認爲ddSuffix.SelectedValue不是整數的字符串表示,你可以張貼HTML是爲下拉列表渲染?

2

變化int.Parseint.TryParse

int wSelectedValue; 

if (int.TryParse(ddSuffix.SelectedValue, out wSelectedValue) { 
    if(wSelectedValue >= 0) 
    { 
    Suffix s = new Suffix(); 
    s.Description = ddSuffix.SelectedItem.Text; 
    s.ID = wSelectedValue; 
...... 
    } 
} 
+0

爲了節省縮進,你可以只是做'如果((int.TryParse(ddSuffix.SelectedValue,出wSelectedValue)&&(wSelectedValue> = 0)){' –