将combobox.selectedvalue与字符串进行比较是一种好习惯吗?

时间:2013-01-29 15:23:41

标签: asp.net combobox selectedvalue

我的网页上有一个组合框和几个文本框,根据组合框的选定值,我将焦点设置为特定的文本框。以下是我的代码:

        if (cbo1.SelectedValue == "01")
            txt1.Focus();
        else
            txt2.Focus();

即使刚刚加载组合框并且没有选定项目,这也可以。我的问题是“这是一个好习惯吗?”因为SelectedValue实际上是一个对象。通常我使用cob1.SelectedValue.ToString(),但是当没有选择项时我得到了一个异常。

2 个答案:

答案 0 :(得分:1)

好的做法是声明一个字符串常量:

private const string FIRST_FIELD_VALUE = "01";

(...)

    if (cbo1.SelectedValue.Equals(FIRST_FIELD_VALUE))
        txt1.Focus();
    else
        txt2.Focus();

否则,是的。我认为将字符串与字符串进行比较是一种很好的做法。

答案 1 :(得分:0)

添加此条件

 if( cbo1.SelectedIndex > 0)
 {
       if (cbo1.SelectedValue == "01")
            txt1.Focus();
        else
            txt2.Focus();
 }