OnClick回调认为它是一个javascript函数?

twe*_*ypi 0 javascript c# asp.net onclick

我正在尝试使用OnClick回调来调用C#函数,但是javascript会抛出一个错误,说该函数是未定义的(即使它在C#代码中).

只有通过Controls.Add在C#call behind部分的page_load中添加控件才会发生这种情况.

换句话说,如果我这样做(在Page_Load函数中):

        LinkButton l = new LinkButton();
        l.Text = "Test";
        l.ID = "TestID";
        l.Attributes.Add("OnClick", "LinkButton_Click");
        l.Attributes.Add("runat", "server");
        l.Page = Page;
        this.Controls.Add(l);
Run Code Online (Sandbox Code Playgroud)

LinkBut​​ton_Click没有根据javascript定义,但是如果我这样做:

在ascx文件中它运行正常,并且通常调用C#函数.

Dar*_*rov 8

应在服务器端附加事件处理程序:

LinkButton l = new LinkButton();
l.Text = "Test";
l.ID = "TestID";
l.Click += LinkButton_Click;
l.Page = Page;
this.Controls.Add(l);
Run Code Online (Sandbox Code Playgroud)

当您使用该Attributes属性时,您实际上附加了一个不存在的客户端功能.