xbo*_*nez 21 c# asp.net button event-handling
我的aspx文件中有一个名为btnTest的按钮..cs文件具有在单击按钮时调用的函数.
btnTest_Click(object sender, EventArgs e)
Run Code Online (Sandbox Code Playgroud)
如何从我的代码中调用此函数(即没有实际单击按钮)?
Spe*_*ort 29
btnTest_Click(null, null);
Run Code Online (Sandbox Code Playgroud)
前提是该方法不使用这些参数中的任何一个(这是非常常见的.)
说实话虽然这很狡猾.如果您有需要调用的代码,则应遵循以下约定:
protected void btnTest_Click(object sender, EventArgs e)
{
SomeSub();
}
protected void SomeOtherFunctionThatNeedsToCallTheCode()
{
SomeSub();
}
protected void SomeSub()
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
JDM*_*DMX 18
使用
btnTest_Click( this, new EventArgs() );
Run Code Online (Sandbox Code Playgroud)
您可以使用反射来调用OnClick将触发click事件处理程序的方法.
我觉得发布这个很脏但是有效......
MethodInfo clickMethodInfo = typeof(Button).GetMethod("OnClick", BindingFlags.NonPublic | BindingFlags.Instance);
clickMethodInfo.Invoke(buttonToInvoke, new object[] { EventArgs.Empty });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109593 次 |
| 最近记录: |