当某个值返回为空时,如何使用下拉列表中的选定值?

Posted

技术标签:

【中文标题】当某个值返回为空时,如何使用下拉列表中的选定值?【英文标题】:How does one use a selected value on a drop down list when some value come back as null? 【发布时间】:2013-10-23 18:28:18 【问题描述】:

目标:让下拉列表根据数据表中的某些数据选择特定值

问题:数据表上的某些数据没有值,导致超出范围异常,代码如下

dtMyDataTable = objMyObject.MyStoredProcedure();

if(dtMyDataTable.Rows.Count > 0)

   ddlMyDropDownList = dtMyDataTable.Rows[0]["OptionalField"].ToString();

提前感谢您提供任何 cmets、建议或建议。

【问题讨论】:

【参考方案1】:
if(dtMyDataTable.Rows.Count > 0)

   if(dtMyDataTable.Rows[0]["OptionalField"] != null)
       ddlMyDropDownList = dtMyDataTable.Rows[0]["OptionalField"].ToString();

【讨论】:

这在我有一个不为空的值时有效,但是当我遇到空值时,我得到一个异常,指出 ddl 选择的值超出范围。我尝试创建一个将 ddl SelectedValue 设置为“0”的 else,但它似乎无法解决我的问题【参考方案2】:

ddlMyDropDownList 是下拉列表控件吗?如果是这样,您不能将字符串值分配给列表控件。所以这可能是个问题。请参阅this other answer 了解如何执行此操作。

该答案还应该向您展示如何防止空值。

【讨论】:

【参考方案3】:

对于任何感兴趣的人,这是我解决问题的方法:

       if (dtMyTable.Rows[0]["OptionalField"] != null)
            
                if (dtMyTable.Rows[0]["OptionalField"].ToString() == "")
                
                    ddlMyDropDownList .SelectedIndex = 0;
                
                else
                
                    ddlMyDropDownList .SelectedValue = dtMyTable.Rows[0]["OptionalField"].ToString();
                
             

【讨论】:

以上是关于当某个值返回为空时,如何使用下拉列表中的选定值?的主要内容,如果未能解决你的问题,请参考以下文章

angularjs中模型为空时如何隐藏下拉列表?

当多个输入可以为空时,在 Django 中使用 Q 进行过滤

有的函数有返回值 有的没有 当测试输出为为空时,应该是不需要接收的函数你给接收了

当结构中的所有值都为空时,如何在 Scala spark 中使结构为空?

如何使用 Laravel 在下拉列表中显示数据库中的选定值?

如何在单击角度7中的按钮时获取下拉列表的选定值和选定文本[重复]