首页 > 解决方案 > 当 asp.net webform 中没有 PerformClick() 时

问题描述

我想在asp.net webforma 中使用PerformClick() 但发现不能使用。此 PerformClick 的任何替换。我也编写了如下代码,但仍然不知道。谢谢你。

protected void Page_Load(object sender, EventArgs e)
        {

        }

        override protected void OnInit(EventArgs e)
        {
            InitializeComponent();
            base.OnInit(e);
        }

        private void InitializeComponent()
        {
            this.ButtonEnter.Click += new System.EventHandler(this.ButtonEnter_Click);
            this.Load += new System.EventHandler(this.Page_Load);
        }

标签: c#asp.netwebforms

解决方案


Button.PerformClick()有 namespace System.Windows.Forms,因此你不能在 ASPX 页面的代码后面使用它。

假设ButtonEnter是一个按钮服务器控件,您可以通过 2 种方式以编程方式模拟按钮单击:

1)直接调用服务器端Click事件处理方法

ButtonEnter.Click(sender, eventArgs);

注意:根据您的要求调整sender&参数。eventArgs

2) 使用客户端事件处理程序 &RegisterStartupScript

JS

function click() {
    document.getElementById("<%= ButtonEnter.ClientID %>").click();
}

背后的代码

ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "Click", "click()", true);

相关问题:

以编程方式触发按钮的单击事件

如何以编程方式触发输入(按钮)onclick事件


推荐阅读