如何手动触发控件的事件?

darkread 2014-11-22 10:17:10
我有两个关联DropDownList A显示省,B显示A省的地区。
A的SelectIndexChangeed事件会重新填充B内的地区名称和编码
那么我在一个自定义的Page类叫做MyPage内有一个函数
public class MyPage: System.Web.UI.Page
{

AssignDq2Ddl(DropDownList A,DropDownList B , string dqcode)
{

// A B都是传染的DropDownList控件,dqcode是一个12位地区编码,前6位表示省
//第一步,根据dqcode.substring(0,6)选择省,A.SelectedValue=dqcode.substring(0,6);
//第二步,根据当前省,重新填充B,等于A的SelectIndexChanged事件处理过程。
//第三步,B.SelectedValue=dqcode;

}
}
public partial class Index:MyPage
{
protected void Page_Load(object sender,EventArgs e)
{
AssignDq2Ddl(ddl1,ddl2,"111111000000");
}
}


因为这是工具函数是写在父类中的,所有不知道第二步A的SelectIndexChanged事件处理函数是什么?只有A.SelectIndexChanged的委托,那么我怎么使用委托来调用A.SelectedChanged的处理函数呢?
...全文
379 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
darkread 2014-12-02
  • 打赏
  • 举报
回复
引用 8 楼 Z65443344 的回复:
事件是留给系统去触发的,如果你企图手动用代码触发事件函数执行,说明已经走岔了路 别人指出你做法不对,你应该好好考虑一下用正常的思维去思考应该如何解决问题
麻烦你先看一下我的需求吧。如果其它方法做,我也不会提出这样的要求。 PS:简单的修改dropdownlist的selected项不触发不触发SelectedIndexChanged事件
於黾 2014-12-01
  • 打赏
  • 举报
回复
这就好比你们家门卫每天早上会给你送报纸,这就是个事件函数 那么你想触发这个函数,首先要先订阅报纸,然后再通知门卫 而现在你想手动执行"送报纸"这个任务,你就直接自己走过去把报纸拿回家,或者通知另一个人帮你把报纸送过来,就完了,而不是想尽一切办法去通知报社
於黾 2014-12-01
  • 打赏
  • 举报
回复
事件是留给系统去触发的,如果你企图手动用代码触发事件函数执行,说明已经走岔了路 别人指出你做法不对,你应该好好考虑一下用正常的思维去思考应该如何解决问题
回.到.未来 2014-12-01
  • 打赏
  • 举报
回复
一个可以把EventHandler处理方法作为AssignDq2Ddl的一个参数 另一个,填充过程写在子页面
darkread 2014-11-29
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
你的 MyPage 类应该给那个方法声明为 public 的,或者 protected的(假设不想让外部程序访问的话),这样就能在你的 Page_Load 中直接调用它。 这是直接调用父类方法的问题,不用“蒙蒙地”说成是委托、事件问题。
好吧,你们都没有看问题的内容就在这里喷。 1、这个工具函数用于修改b的值可联动a,现在是 河北唐山 改了地市为深圳,联动改成 广东 深圳。 2、填充联动在子类,工具函数在父类,我在么引用他的selectedindexchanged处理函数? 3、给你个提示,简单的修改dropdownlist的selected项不触发2提到的事件 不知道,我那句话触发了你们的喷点?里面居然还有个mvp!!
  • 打赏
  • 举报
回复
如果父类程序的“3点要求”这是你的经理给你分配的任务,那么可能是他的失误。 因为对于“第2点”注释写的很明白,就是要读取第一个参数的值,来设置第二个参数的属性值,而你却拐到莫名其妙的“事件、委托”上了。 从这个角度讲,可能你自己觉得一旦从csdn上抄来了代码以后感觉自己成就很大,但是其实从一个公司的角度讲,它是“蒙着搞开发”的险峻艰难的道路上蹒跚着。
  • 打赏
  • 举报
回复
你的 MyPage 类应该给那个方法声明为 public 的,或者 protected的(假设不想让外部程序访问的话),这样就能在你的 Page_Load 中直接调用它。 这是直接调用父类方法的问题,不用“蒙蒙地”说成是委托、事件问题。
insus 2014-11-22
  • 打赏
  • 举报
回复
Xanl 2014-11-22
  • 打赏
  • 举报
回复
本质就是单击第一个DropdownList触发SelectIndexChanged方法 在这个SelectIndexChanged中会根据选择的内容改变第二个DropDownList的列表
wyumening 2014-11-22
  • 打赏
  • 举报
回复
不是事件,委托的关系吧,首先子页面的dropdownlist控件绑定数据的操作应该是在子页面的Page_Load事件中的,而不是在基类中,所以不用考虑什么引发事件的问题,直接根据要读取第一个参数的值,来设置第二个参数的属性值就行了

62,040

社区成员

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

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

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

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