我的一个ascx控件里就只有一个下拉菜单,然后根据数据库内容取值,然后在页面上,我想让其中的一项默认选中,我使用
DropDownList nation=(DropDownList)this.nation.Controls[0];
nation.Items.FindByValue(dt.Rows[0]["nation"].ToString()).Selected=true;这样没有问题的但是另外一个ascx控件,里面有两个下拉菜单,是省市无刷新联动菜单,值也是根据数据库内容取的,在页面上我想让某项默认选中,比如这两个菜单分别的默认选中湖北-武汉,我使用
DropDownList nation=(DropDownList)this.nation.Controls[0];
nation.Items.FindByValue(dt.Rows[0]["nation"].ToString()).Selected=true;这样就提示“未将对象引用设置到对象实例”,然后我调试了一下,发现下拉菜单的值是空的,也就是说这个下拉菜单没有初始化,为什么会没有初始化呢,我想不明白了,如果我不写这两句代码,这个ascx控件是正常的搞不定了,寻求高手,在一个ascx控件里有两个下拉菜单,他们是联动的省市菜单,这时候我怎么在页面上让某项默认选中噢,请给出语法,谢谢
DropDownList nation=(DropDownList)this.nation.Controls[0];
nation.Items.FindByValue(dt.Rows[0]["nation"].ToString()).Selected=true;这样没有问题的但是另外一个ascx控件,里面有两个下拉菜单,是省市无刷新联动菜单,值也是根据数据库内容取的,在页面上我想让某项默认选中,比如这两个菜单分别的默认选中湖北-武汉,我使用
DropDownList nation=(DropDownList)this.nation.Controls[0];
nation.Items.FindByValue(dt.Rows[0]["nation"].ToString()).Selected=true;这样就提示“未将对象引用设置到对象实例”,然后我调试了一下,发现下拉菜单的值是空的,也就是说这个下拉菜单没有初始化,为什么会没有初始化呢,我想不明白了,如果我不写这两句代码,这个ascx控件是正常的搞不定了,寻求高手,在一个ascx控件里有两个下拉菜单,他们是联动的省市菜单,这时候我怎么在页面上让某项默认选中噢,请给出语法,谢谢
解决方案 »
- javascript 遍历树节点
- datalist 显示多列时中间分隔线
- Panel控件和IE7.0的问题
- 弹出一个对话框,父页面便会色,同时不可操作。
- 请问个页面设置的问题!
- VB 怎么修改成如下 C# 的数据库连接方式: (注:一定还要用VB,不能用C#)
- ASP.NET新手,大家帮我看看这个问题
- 下面的代码在datagrid中点击一列,弹出一个新的窗口页后,为何以前的datagrid页被替换成了新的页了呢? ,要求实现点击列,弹出新窗口,但
- MVC中实现遮罩层
- session问题,有一些电脑登陆后无法保存住session
- treeview中从数据库读信息载入节点,如何才能做成类似csdn的样子,而不是一次都载入
- 先将SqlDataReader里面读出的数据转移到ArrayList然后再绑定到页面是个好方法吗?
{
if (nation.Item[i].Text == "湖北")
nation.Item[i].Selected = true;
}
1、先绑定主Drp
2、设置主Drp的默认值,根据主Drp的默认值绑定从drp,之后再设置从drp的默认值。在设置默认值之前需要先判断是否存在这个默认值。比如这一句可能就有问题:
nation.Items.FindByValue(dt.Rows[0]["nation"].ToString()).Selected
FindByValue(dt.Rows[0]["nation"].ToString())这个结果可能是null,因为你这里没有检查也不能保证一定存在。此时在使用Selected就会现上面的错。