我想从后面的代码调用我的 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
因为你已经在 JS 文件中有了你的函数。 RegisterStartupScript
用于在服务器端向页面添加 JS 功能。
关于c# - 如何从 Asp.net Button 单击后面的 c# 代码调用 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9861321/