0

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

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

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

4

2 回答 2

1

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

private const string FIRST_FIELD_VALUE = "01";

(...)

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

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

于 2013-01-29T15:26:37.617 回答
0

添加这个条件

 if( cbo1.SelectedIndex > 0)
 {
       if (cbo1.SelectedValue == "01")
            txt1.Focus();
        else
            txt2.Focus();
 }
于 2013-01-29T15:27:36.647 回答