1

我有客户端按钮事件。如果我可以签署 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();
    }

好的,你只需要简单地做。例如在那里调用 alert("message") 。


好的,它的作品!但我需要从服务器端(C#)同步调用客户端方法(javascript),因为客户端方法直到服务器端方法结束(例如 button_click 事件)才开始。


我试试这个:

            ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "anyId", "<script type='text/javascript'>alert('This is my alert message');</script>", true);

没有行动,什么都没有。

4

3 回答 3

1

单击按钮时使用它:

 ClientScript.RegisterClientScriptBlock(Page, typeof(Page),sgnPdf(ID), true); 

OR
    <asp:Button OnClientClick = "sgnPdf(ID)"/>

在页面加载时使用它:

RegisterStartupScript("Unique key", "sgnPdf(ID);"); 

这是一个参考

于 2012-09-25T13:38:02.667 回答
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();
     } 
于 2012-09-25T14:17:50.377 回答
0

如果您在页面上使用 UpdatePanel,则可以使用 ScriptManager.RegisterStartupScript 从服务器端调用客户端函数

在按钮单击事件中使用以下代码

ScriptManager.RegisterStartupScript(this, this.GetType(), "script234", "sgnPdf('"+ID+"');", true);

如果您没有在页面上使用 UpdatePanel,那么您可以使用 ClientScript.RegisterStartupScript 从服务器端调用客户端函数

在按钮单击事件中使用以下代码

ClientScript.RegisterStartupScript(this.GetType(), "script234", "sgnPdf('"+ID+"');", true);
于 2014-04-05T06:46:59.617 回答