c# - 如何从 Asp.net Button 单击后面的 c# 代码调用 javascript 函数?

标签 c# asp.net facebook facebook-graph-api button

我想从后面的代码调用我的 facebook 发送对话框功能:

JavaScript 代码是:

function facebook_send_message(to) {
    FB.ui({
        app_id:'*****',
        method: 'send',
        name: "*****",
        link: '*****',
       to: <%=to %>,
        description:'sdf sdf sfddsfdd s d  fsf s ',
        redirect_uri: '******'


    });
}

这里的问题是我想从一个动态生成的 Aspx 按钮调用它

 Button btn = new Button();
 btn.CssClass = "btn-add";
 btn.Text = "Invite";
 btn.Click += new EventHandler(btn_Click);

我在点击按钮时试过这段代码

protected void btn_Click(object sender,EventArgs e)
{

    Page.ClientScript.RegisterStartupScript(Page.GetType(), "my", "function facebook_send_message(to);", true);

}

但是它不起作用请帮忙?

最佳答案

将其添加为属性。

btn.attributes.add("OnClientClick", "javaScript: return myfunction(););

如果 OnClientClick 不起作用,请尝试 onClick。无法从我的脑海中记住哪个会起作用。

确保从 JS 函数返回 false 以防止回发

伪代码:

--JS函数--

function myFunction() {
         alert('this is my fb function');
         return false;
}

--在aspx.cs页面添加按钮--

Button b = new Button();
b.ID = "btnSomeButton";
b.Text = "Call fb button";
dvButton.Controls.Add(b);
b.Attributes.Add("onclick", "return myFunction();");

您不需要代码中的 btn_click 事件。你也不需要 RegisterStartupScript 因为你已经在 J​​S 文件中有了你的函数。 RegisterStartupScript 用于在服务器端向页面添加 JS 功能。

关于c# - 如何从 Asp.net Button 单击后面的 c# 代码调用 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9861321/

相关文章:

c# - 跨网络互斥 - C#.NET

asp.net - 有没有办法从 Sql Server Management Studio 的过程列表中隐藏架构或至少隐藏 aspnet 过程?

javascript - FBJS JavaScript getElementById 返回空值?

javascript - Facebook Javascript SDK FB 未定义

java - 带有 restfb 的 Facebook 扩展 token

c# - 绑定(bind)中的 WPF StringFormat 在代码隐藏中不起作用

c# - 添加迁移时出错 - 未将对象引用设置为对象的实例

c# - 在 ASP.Net 5 中配置 Azure Blob 访问

c# - 如何使用c#读取EPS的属性或颜色信息?

C# 正则表达式 - 匹配和替换,自动递增