使用DropDownList和SqlDataSource控件,首次打开页面如何让其产生SelectedIndexChanged事件。

hztltgg 2012-07-25 12:37:40
如题。
手工选择下拉框是可以执行SelectedIndexChanged方法,但首次打开网页,需要根据下拉框的值设置其他控件,如何实现?
...全文
376 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
hztltgg 2012-08-08
  • 打赏
  • 举报
回复
换成全部后台写法我知道,我现在的情况是使用数据源控件,所以后台没有代码,load事件里取得的下拉筐数值是空,SelectedIndexChanged在页面首次加载不触发
翼风 2012-08-08
  • 打赏
  • 举报
回复
DropDownList是在什么时候绑定的啊..
杰拉尔 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 的回复:]

C# code


if (!IsPostBack) {
int selectVal=1;//比如等于1
DropDownList1.DataSource = ArchiveManager.GetArchivesgetaboutbytag(1,null);
DropDownList1.Sele……
[/Quote]
为什么喜欢用那控件呢。我怎么一直没认为好用。
dralion 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

引用 13 楼 的回复:
引用 10 楼 的回复:

引用 2 楼 的回复:
你可以这样,将 SelectedIndexChanged中的代码封装到一个方法中,比如Foo(int index),然后在你需要的时候调用Foo(dropdownlist1.SelectedIndex)


我是几个级联的下拉列表框,需要取出最后一个下拉框的值,并且根据这个值执行一个Foo方法,需要的时……
[/Quote]


前台写个chanage事件 后台数据加载完成后 输出前台事件
dralion 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 的回复:]

换成全部后台写法我知道,我现在的情况是使用数据源控件,所以后台没有代码,load事件里取得的下拉筐数值是空,SelectedIndexChanged在页面首次加载不触发
[/Quote]

数据绑定完成后 后台 调用js 更改事件
紫魂一号 2012-08-08
  • 打赏
  • 举报
回复
哦 没有后台事件哈。。还是没明白你的意思啦。。居然没后台代码,难道你全部前台实现的哈。包括下拉框的事件也是前台搞定的哈?
紫魂一号 2012-08-08
  • 打赏
  • 举报
回复
onload js 方法,,js方法去 触发后台事件 __doPostBack();
杰拉尔 2012-08-07
  • 打赏
  • 举报
回复


if (!IsPostBack) {
int selectVal=1;//比如等于1
DropDownList1.DataSource = ArchiveManager.GetArchivesgetaboutbytag(1,null);
DropDownList1.SelectedValue = selectVal.ToString();
DropDownList1.DataBind();

//后台根据 selectVal在去绑定其他控件 根据没有必要首次加载执行那事件

Rp.xx = getXX(selectVal);
...

}
紫魂一号 2012-08-07
  • 打赏
  • 举报
回复
绑定的同时,也触发下一个ddl的改变事件
紫魂一号 2012-08-07
  • 打赏
  • 举报
回复
写个公用的函数
如Foo(int index,DropDownList ddl){.......}
然后在改变时间里传下一个ddl进行再次绑定
hztltgg 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
下拉时候改变时候执行SelectedIndexChanged,跟执行单独执行SelectedIndexChanged的效果不一样么?


加载时执行下SelectedIndexChanged里面的代码(如二楼所说,单独封起来,然后调用),选择下啦时再执行下,不一样么
[/Quote]

加载时取不到最后一个下拉列表的值,因为用了数据源控件绑定,而且是级联的。
hztltgg 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]
引用 10 楼 的回复:

引用 2 楼 的回复:
你可以这样,将 SelectedIndexChanged中的代码封装到一个方法中,比如Foo(int index),然后在你需要的时候调用Foo(dropdownlist1.SelectedIndex)


我是几个级联的下拉列表框,需要取出最后一个下拉框的值,并且根据这个值执行一个Foo方法,需要的时候就是控件加载好的时候,但是Se……
[/Quote]

我是想简单点实现一个级联的功能,几个下拉控件都是通过数据源绑定的,后台代码需要根据最后一个下拉控件的值做一些查询。每次最后一个下拉框变化时,自动回调。

但是,后台我要在什么事件里写 根据最后一个下拉框查询 的功能呢?如果写在那个下拉框的SelectedIndexChanged事件里,第一次打开页面是取不到值的。
  • 打赏
  • 举报
回复
下拉时候改变时候执行SelectedIndexChanged,跟执行单独执行SelectedIndexChanged的效果不一样么?


加载时执行下SelectedIndexChanged里面的代码(如二楼所说,单独封起来,然后调用),选择下啦时再执行下,不一样么
jun471537173 2012-08-07
  • 打赏
  • 举报
回复
this.DropDownList1_SelectedIndexChanged(new object(),new EventArgs());
Go 旅城通票 2012-08-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

引用 2 楼 的回复:
你可以这样,将 SelectedIndexChanged中的代码封装到一个方法中,比如Foo(int index),然后在你需要的时候调用Foo(dropdownlist1.SelectedIndex)


我是几个级联的下拉列表框,需要取出最后一个下拉框的值,并且根据这个值执行一个Foo方法,需要的时候就是控件加载好的时候,但是SelectedIndexCha……
[/Quote]


2#已经说到点了,你把需要初始化的全部写成方法,依据步骤依次调用方法初始化其他控件的值直到最后需要触发的事件上,然后再调用最后的方法
hztltgg 2012-07-25
  • 打赏
  • 举报
回复
问题是下拉控件是数据源绑定的不是通过load事件里绑定[Quote=引用 11 楼 的回复:]

页面load时初始化各DropDownList控件后调用Foo方法就是了。
[/Quote]
游戏人间 2012-07-25
  • 打赏
  • 举报
回复
页面load时初始化各DropDownList控件后调用Foo方法就是了。
hztltgg 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你可以这样,将 SelectedIndexChanged中的代码封装到一个方法中,比如Foo(int index),然后在你需要的时候调用Foo(dropdownlist1.SelectedIndex)
[/Quote]

我是几个级联的下拉列表框,需要取出最后一个下拉框的值,并且根据这个值执行一个Foo方法,需要的时候就是控件加载好的时候,但是SelectedIndexChanged事件不触发,就没地方调用Foo方法了
hztltgg 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
在绑定完下拉框以后,设置选定项,并根据选定项绑定其他控件。
[/Quote]

是根据下拉值在后台代码处理,不是控制其他控件了
暗尘掩月 2012-07-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

在绑定完下拉框以后,设置选定项,并根据选定项绑定其他控件。
[/Quote]
+1
加载更多回复(7)

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧