如何从Asp.net上的c#代码调用javascript函数按钮单击?

vin*_*ini 2 c# asp.net facebook button facebook-graph-api

我想从后面的代码调用我的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: '******'


    });
}
Run Code Online (Sandbox Code Playgroud)

这里的扭曲是我想从动态生成的Aspx按钮调用它

 Button btn = new Button();
 btn.CssClass = "btn-add";
 btn.Text = "Invite";
 btn.Click += new EventHandler(btn_Click);
Run Code Online (Sandbox Code Playgroud)

我在单击按钮时尝试了此代码

protected void btn_Click(object sender,EventArgs e)
{

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

}
Run Code Online (Sandbox Code Playgroud)

但它不工作请帮忙?

Asd*_*dfg 6

将其添加为属性.

btn.attributes.add("OnClientClick", "javaScript: return myfunction(););
Run Code Online (Sandbox Code Playgroud)

如果OnClientClick不起作用,请尝试onClick.不记得从我的头顶哪个会工作.

确保return false从JS函数中防止Postback.

伪代码:

--JS功能 -

function myFunction() {
         alert('this is my fb function');
         return false;
}
Run Code Online (Sandbox Code Playgroud)

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

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

您不需要btn_click在代码中使用事件.您也不需要,RegisterStartupScript因为您已经在JS文件中拥有了您的功能.RegisterStartupScript当你想从服务器端向页面添加JS功能时使用.