以编程方式触发ASP.NET控件事件的正确方法是什么?

Hca*_*tek 1 c# asp.net events

以编程方式触发ASP.NET控件事件的正确方法是什么?我正在寻找重构一些代码,我看到代码后面的代码如下所示; 开发人员正在调用事件处理程序并使用params使其饱和.对于DropDownList

ddlAddress.SelectedIndex = 1;
ddlAddress_SelectedIndexChanged(null, new EventArgs());
Run Code Online (Sandbox Code Playgroud)

&对于RadioButtonList

rblAction.SelectedIndex = 0;
rblActionType_SelectedIndexChanged(null, new EventArgs());
Run Code Online (Sandbox Code Playgroud)

这是正常的编码练习吗?我该怎么办才能不破坏/破坏页面?任何想法或建议将不胜感激.

谢谢,〜在圣地亚哥

RSo*_*erg 5

我首先从实际事件的方法中删除所有代码并将其重构为一个名为AddressChanged的新方法或其他适合您命名标准的方法.然后,您可以从代码中的任何其他位置调用该新函数.

protected void ddlAddress_SelectedIndexChanged(object sender, EventArgs e){
    AddressChanged();
}
private void AddressChanged(){
    //do the changed event
}

private void doingSomething(){
    ddlAddress.SelectedIndex = 1;
    AddressChanged();
}
Run Code Online (Sandbox Code Playgroud)