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

如何从Asp.net按钮上的c#代码隐藏调用javascript函数?,c#,asp.net,facebook,facebook-graph-api,button,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 sfddsfd

我想通过代码隐藏调用我的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: '******'


    });
}
我在点击按钮时尝试了这个代码

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函数--

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


您不需要像代码中那样单击事件。您也不需要
RegisterStartupScript
,因为您已经在JS文件中拥有了函数<当您想从服务器端向页面添加JS函数时,可以使用code>RegisterStartupScript。

OnClientClick
应该可以工作<代码>单击需要服务器端方法。谢谢。我已经更新了答案。我猜它是onClick而不是click。我的按钮是一个aspx按钮,它不工作。它只是postback。我知道你的按钮是asp按钮。我已经更新了答案。看看是否有帮助。@vini:如果不想回发,应该从函数或onclick代码返回false。如果您不需要回发,只需在ASPX上发布一个非服务器端控件就更容易了,如
中所示。
btn.attributes.add("OnClientClick", "javaScript: return myfunction(););
function myFunction() {
         alert('this is my fb function');
         return false;
}
Button b = new Button();
b.ID = "btnSomeButton";
b.Text = "Call fb button";
dvButton.Controls.Add(b);
b.Attributes.Add("onclick", "return myFunction();");