2010-03-07 76 views
0

我有以下的jQuery函數調用jQuery函數

> <script type="text/javascript"> 
> 
>  $(document).ready(function() { 
> 
>   $('#callGrowel').click(function() { 
>    $.growlUI('Email Received', 'from Joe Bloggs'); 
>   }); 
>  }); 
> 
> </script> 

,在我的aspx頁面我有一個div

<div id="callGrowel" >Run Growe l</div> 

但我需要調用的方法growlUI jquery函數從我的代碼在C#中的文件後面,而不是點擊UI中的div。

這可能嗎?

回答

2

這實在沒有意義。您的C#代碼在服務器上運行,以生成傳遞給客戶端並在此處翻譯的HTML文件。 jQuery只能在客戶端的HTML上運行。

是你試圖不通過

 $.growlUI('Email Received', 'from Joe Bloggs'); 

更換

 $('#callGrowel').click(function() { 
     $.growlUI('Email Received', 'from Joe Bloggs'); 
    }); 

取得的成就?

+0

不...我的C#代碼我正在檢查更新到我的電子郵件存儲庫,當我推出一個新的電子郵件時,我想觸發$ .growlUI jquery函數。我雖然如果我將它附加到div或按鈕元素,我可以間接調用。 – Dave 2010-03-07 17:46:10

+0

例如在這裏你可以從代碼後面調用JavaScript文件http://www.devcurry.com/2009/01/execute-javascript-function-from-aspnet.html – Dave 2010-03-07 17:55:23

+2

該鏈接並沒有真正顯示如何調用JavaScript來自C#,這是作者的壞話。那樣做是將JavaScript注入HTML文件。如果你問我,這是一個可疑的方法。更好的設計:加載基本的HTML文件,將jQuery.ajax()調用返回到服務器,以確定是否有任何新電子郵件,並在響應顯示時觸發growlUI方法。 – pdr 2010-03-07 18:14:58

3

我已經使用以下方式和我正常工作100%:

第一我創建了一個功能,寫我的jQuery的功能在我的頁面中的功能:

<script> 
function myFunction(params) { 
    $.my_jquery(params...) 
    ...... 
} 

然後我用在我的控制的事件處理程序的代碼(例如點擊一個按鈕)我的控制是一個更新面板內誰:

protected void myButton(object sender, EventArgs e) 
{ 
    ..... 
    ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "tmp", "<script type='text/javascript'>myFunction(params...);</script>", false); 
} 

成功