1

クライアント側のボタン イベントがあります。PDF に署名できる場合は、クリックして sgnPdf(ID) を呼び出します。

[マイフォーム.aspx]

 <script type="text/javascript">
    <% if (ViewData.CanSignPdf){ %>
    $(function() {
        $("#<%=btnSend.ClientID %>").click(function() {
            if ($('.IgnoreCheckBox').is(':checked')) {
                sgnPdf(<%=ViewData.NoticeID %>);
                return false;
            };
        });
    });
    <% } %>
</script>

しかし、ボタンをクリックした後、サーバー側からこの関数を呼び出す必要があります。

[マイフォーム.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") を呼び出します。


わかりました、その作品!!! しかし、サーバー側のメソッドが終了するまでクライアント側のメソッドが開始されないため (button_click イベントなど)、サーバー側のメソッド (javascript) をサーバー側 (C#) から同期的に呼び出す必要があります。


私はこれを試します:

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

そして何の行動も何もありません。

4

3 に答える 3

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 に答える
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 に答える
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 に答える