簡體   English   中英

如何在asp.net web應用程序中調用javascript方法

[英]How to call javascript method in asp.net web application

我想在ac#函數中使用javascript函數

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>
    */
}

我怎么能做這樣的事情? 我想當用戶按下是的時候返回true,我知道他按了是...我能這樣做嗎?

如果您嘗試從asp.net向頁面添加 JavaScript,則可以使用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);

如果你試圖從你的asp.net代碼中調用 (客戶端)JavaScript函數,那么絕對不行。 當頁面發布和您的C#運行時,頁面上的任何JavaScript都不再存在。

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

在Javascript中,您可以提示用戶刪除記錄或其他任何內容,然后您必須導航到另一個頁面或使用AJAX將結果發送到服務器。

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

如果您將此消息放在帶有回發的<asp:Button> ,只需將confirm對話框添加到OnClientClick屬性,如下所示:

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

如果您只是嘗試創建讓服務器知道單擊按鈕的功能,那么您就會過度復雜化。 如果你真的需要動態插入Javascript,那么Adam提到的值得研究。 但我非常懷疑這是你正在嘗試做的正確方法。

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

如果動態插入Javascript(即延遲加載)不是你主要關注的問題,那么這里有一個非常簡單的例子,說明了大多數人通常會做的事情來實現你的目標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM