2011-12-30 57 views
3

我想用C#功能如何調用JavaScript方法在asp.net web應用程序

protected void button1_Click(object sender,EventArgs e){ 
    //javascript function call ex. 
    /* 
    boolean b=the return of: 
    <script type="text/javascript"> 
    function update() { 
     var result = confirm("Do you want to delimit the record?") 
     if (result) {return true;} 
     else { 
      return false; 
     } 
    } 
    </script> 
    */ 
} 

我怎麼可以做這樣的事情裏面javascript函數?我想當用戶按是的,返回true,我知道他按了是的...我可以這樣做嗎?

+1

不,你不能那樣做。 – 2011-12-30 19:13:33

+0

Trololololol – Letseatlunch 2011-12-30 19:19:02

回答

4

如果您正在嘗試加入到您的asp.net網頁中,您可以使用ClientScript類。

string script = "function update() { var result = confirm(\"Do you want to delimit the record?\") if (result) {return true; } else { return false; } }"; 
ClientScript.RegisterClientScriptBlock(this.GetType(), "someKey", script, false); 

如果你想呼叫(客戶端)JavaScript函數從您的asp.net的代碼背後,則絕對不行。當頁面文章和C#運行時,頁面上的任何JavaScript不再存在。

+2

水平滾動是邪惡的! :-) – 2011-12-30 19:17:31

+0

另外,我想他問另一件事:如何執行一個JS函數並獲得它的價值在C# – 2011-12-30 19:18:29

+0

@SergeiTulentsev - 我知道。抱歉。我不想佔用大量的垂直空間,只是寫出一個大的JavaScript字符串:| – 2011-12-30 19:19:09

3

你在混合兩種不同的技術。 C#在服務器上運行。它呈現一個HTML頁面(可能包括Javascript)。然後將這個頁面發送到客戶端的瀏覽器,最終Javascript被執行。

在Javascript中,您可以提示用戶關於刪除記錄等,然後您必須導航到另一個頁面或使用AJAX將結果發送到服務器。

我建議你拿一本好的ASP.NET書。它會爲你清除許多不確定因素。

1

如果你把這個消息上的與回發只是confirm對話框添加到OnClientClick屬性,像這樣:

<asp:Button ID="Button1" runat="server" 
    OnClientClick="return confirm('Do you want to delimit the record?');" /> 
0

如果你只是想創建讓服務器知道的功能點擊一個按鈕,你就過於複雜了。如果你真的需要動態插入Javascript,那麼Adam提到的值得研究。但我非常懷疑這是你嘗試做的正確方法。

當你擔心性能時,你應該只能動態地插入Javascript,而且你需要發送大量內容。

如果動態插入Javascript(即延遲加載)不是您最關心的問題,那麼here就是大多數人通常會做的工作,以實現您想要實現的功能。

相關問題