2011-05-12 141 views
3

我在ASP.NET和C#上有一個小型的工作應用程序,我想向它添加一些Javascript。ASP.NET調用來自JavaScript的C#函數

我知道,例如我可以使用確認按鈕,然後在yes或no上做某些事情。

我想要做的是調用我在代碼隱藏的一些功能,具體取決於對確認按鈕的回答。

我該如何解決這個問題? 非常感謝!

+0

你能更具體嗎?解釋你**完全**想要什麼,目標和要求是什麼? – 2011-05-12 21:25:39

+1

看到這個問題:http://stackoverflow.com/questions/3713/call-asp-net-function-from-javascript – 2011-05-12 21:26:36

回答

3

簡單。

把你的aspx頁面上的一個隱藏的div包含按鈕會觸發你的方法:

<div style="display: none"> 
    <asp:Button ID="TriggerMethod1" runat="server" /> 
</div> 

在你的JavaScript,在你的代碼的確認部分簡單地做:

__doPostBack('TriggerMethod1', ''); 

而且在你的代碼隱藏,處理該按鈕點擊調用Method1。

+2

我個人使用jQuery,只需觸發點擊:'$(「#TriggerMethod1」)。click();'。 – 2011-05-12 21:31:08

+0

謝謝!這就是我一直在尋找的東西。清晰簡潔! – NicoTek 2011-05-12 22:30:18

+0

沒問題!樂意效勞! – 2011-05-12 22:45:55

1

要調用服務器端方法上,你需要做下面的一個客戶端事件:

1-創建服務器端的方法:

void DoSomething(...) { ... } 

2-執行帶有一個字符串參數的System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(您可以將名稱分配給該參數的值):

public void RaisePostBackEvent(string eventArgument) 
{ 
     DoSomething(...); 
} 

3-編寫一個腳本來觸發回傳:

function TriggerPostBack(control, arg){ 
    __doPostBack(control, arg); 
} 

4-呼叫需要時回傳觸發功能:

<a .... onclick="TriggerPostBack('control', 'arg')" .. />