2012-09-25 46 views
1

我有客戶端按鈕事件。如果我可以簽署PDF,點擊調用sgnPdf(ID)後。從服務器端呼叫客戶端功能,我想要ASP.NET AJAX

[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(); 
    } 

OK,你只是需要簡單地做。例如,在那裏調用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); 

,沒有行動,沒有什麼。

+0

1爲從第服務器並排功能一個新手很好的問題! –

回答

1

使用此按鈕時點擊:

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

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

使用此頁面上載:

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

這裏是一個Reference

+0

我認爲RegisterStartupScript只適用於Page_Load(Object sender,EventArgs e)事件。 – Emis

+0

Ohh yes..plz請參閱編輯 –

+0

但是當按鈕單擊FormUnbindData()和SaveMYData()後,我需要調用sgnPdf(ID)。然後調用sgnPdf(ID)。 – Emis

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(); 
    } 
+0

你得到什麼錯誤? –

+0

如果你不能從第一個方法調用javascript函數,我現在已經改變它,只是一個超載,嘗試使用它,並檢查它是否解決了你的問題... –

0

如果您正在使用Up datePanel您的網頁上,那麼你可以的,如果你不使用你的頁面上的UpdatePanel,那麼你可以調用客戶端的按鈕單擊事件

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

使用下面的代碼ScriptManager.RegisterStartupScript

使用從服務器端調用客戶端功能使用下面ClientScript.RegisterStartupScript代碼

使用在按鈕點擊事件

 
ClientScript.RegisterStartupScript(this.GetType(), "script234", "sgnPdf('"+ID+"');", true); 
相關問題