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

标签 c# asp.net onclick javascript

我尝试使用 OnClick 回调来调用 C# 函数,但是 javascript 抛出错误,指出该函数未定义(即使它位于 C# 代码中)。

只有当我通过 Controls.Add 添加控件到 C# 调用后面部分的 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);

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

在 ascx 文件中,它运行良好并且实际上调用了 C# 函数。

最佳答案

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

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

当您使用Attributes属性时,您实际上附加了一个不存在的客户端函数。

关于c# - OnClick回调认为它是一个javascript函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4035614/

相关文章:

c# - 插入、选择和更新日期时间

c# - c#中char类型的大小

asp.net - 无法将 msdeploy web 包复制到临时文件夹吗?

javascript - jquery 中的 show() 方法不起作用

jquery mobile 分配 var onclick

C# 折叠数组列表

c# - 是否需要 Cookie 中间件来粘合 OAuth2 和 OpenIdConnect?

asp.net - 在 ASP.NET 中下载文本文件是附加网页 HTML

android - 如何使用选择器更改 ImageButton 图像?

javascript - 如何仅使用 javascript 更改按钮颜色 onclick?