我有客户端按钮事件。如果我可以签署PDF,请点击调用sgnPdf(ID)。
[MyForm.aspx]
<script type="text/javascript">
<% if (ViewData.CanSignPdf){ %>
$(function() {
$("#<%=btnSend.ClientID %>").click(function() {
if ($('.IgnoreCheckBox').is(':checked')) {
sgnPdf(<%=ViewData.NoticeID %>);
return false;
};
});
});
<% } %>
</script>
但是我需要在点击按钮后从服务器端调用此函数。
[MyForm.aspx.cs]
protected void BtnSendClick(object sender, EventArgs e)
{
FormUnbindData();
SaveMYData();
//Here i want call client function sgnPdf(ID). How can I do this?
ShowMyMessage();
}
好的,你只需简单地做。例如,呼叫提醒(&#34;消息&#34;)。
好的,它的作品!但我需要同步从服务器端(C#)调用客户端方法(javascript),因为客户端方法在服务器端方法结束之前不会启动(例如button_click事件)。
我试试这个:
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "anyId", "<script type='text/javascript'>alert('This is my alert message');</script>", true);
没有动作,没有。
答案 0 :(得分:1)
按钮点击时使用此项:
ClientScript.RegisterClientScriptBlock(Page, typeof(Page),sgnPdf(ID), true);
OR
<asp:Button OnClientClick = "sgnPdf(ID)"/>
在页面加载时使用此功能:
RegisterStartupScript("Unique key", "sgnPdf(ID);");
答案 1 :(得分:1)
尝试以下....
protected void BtnSendClick(object sender, EventArgs e)
{
FormUnbindData();
SaveMYData();
**Edit**
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "anyId", "<script language='javascript'>sgnPdf('"+ID+"');</script>", true);
ShowMyMessage();
}
答案 2 :(得分:0)
如果您在页面上使用UpdatePanel,则可以使用ScriptManager从服务器端调用客户端功能.RegisterStartupScript
在按钮点击事件中使用以下代码
ScriptManager.RegisterStartupScript(this, this.GetType(), "script234", "sgnPdf('"+ID+"');", true);
如果您未在页面上使用UpdatePanel,则可以使用ClientScript从服务器端调用客户端功能.RegisterStartupScript
在按钮点击事件中使用以下代码
ClientScript.RegisterStartupScript(this.GetType(), "script234", "sgnPdf('"+ID+"');", true);