dropdownlist.SelectedValue出错

时间:2011-12-07 23:23:53

标签: c# drop-down-menu

我正在加载用户控件,其中包含一个下拉列表到页面(Mypage)。我已将EnableViewstate设置为 False 用于usercontrol。现在控件正确加载,数据也正确地绑定到下拉列表。在页面的保存事件中,我验证User控件内的所有控件。

                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

2 个答案:

答案 0 :(得分:2)

int.Parse更改为int.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;
......
  }
}

答案 1 :(得分:1)

我认为ddSuffix.SelectedValue不是整数的字符串表示,你可以发布为下拉列表呈现的HTML吗?