簡體   English   中英

如何使用javascript調用Codebehind函數?

[英]How to call a codebehind function using javascript?

我試圖在函數后面調用此代碼:

protected void Insert(object sender, EventArgs e)
        {
            blah blah blah code
            this.BindGrid();
        }

在.aspx文件中,我有如下的Java函數:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
<asp:Button ID="Button2" runat="server" Text="Call Button Click" Style="display:none" OnClick="Insert" />
<asp:Button ID="btnAdd" runat="server" Text="Add" OnClientClick="return Validate();" Width="100" />

        <script type="text/javascript">
                function Validate()
                {
                    var id = document.getElementById("txtStudentID").value;
                    Number(id);
                    var fn = document.getElementById("txtFirstName").value;
                    String(fn);
                    var ln = document.getElementById("txtLastName").value;
                    String(ln);
                    var cls = document.getElementById("txtClass").value;
                    String(cls);
                    var rn = document.getElementById("txtRollNumber").value;
                    Number(rn);
                    My code blah blah blah
                    document.getElementById("Button2").click();
                    PageMethods.Insert(onSuccessMethod, onFailMethod);
                };
          </script>

按下添加按鈕(可見的按鈕)時,我需要插入才能工作。 我不確定我的邏輯是否正確,或者是否有更好的方法。 如果有人知道我可以從我的JavaScript調用插入函數,將不勝感激。 我已經嘗試了谷歌的一些東西,但似乎都沒有用。 提前致謝

您可以嘗試以下方法:

Page.ClientScript.RegisterStartupScript(this.GetType(),"CallMyFunction","Validate()",true);

我們可以使用[WebMethod]作為要從JavaScript調用的方法。 據我所知,這應該是靜態方法。 我們可以使用以下方法從JavaScript調用該方法

PageMethods.MethodNameOnCodeBehindClass()

因此,您的方案有可能創建一個可以調用所需方法的靜態方法。

您也可以嘗試:

ScriptManager.RegisterClientScriptBlock(this,Gettype(this),"","validate();",true);

確定原來這是Onclick和OnClientClick的一個簡單問題。 OnClientClick是首先執行的功能,完成后轉到OnClick功能。 最終,這就是我的最終結果:代碼背后:

public void Validate(object sender, EventArgs e)
{
      boring code blah blah blah
}

這是aspx代碼

    <script id="validity" type="text/javascript">

        function Validate() {

             Blah blah blah boring code
        }
    </script>
    <asp:Button ID="btnAdd" runat="server" OnClientClick="return Validate();" OnClick="Validate"
            Text="Add" Width="100" />

我使用onclientclick執行基於javascript的驗證。 完成后,我將執行服務器端數據上傳。 完成后似乎很基礎。 希望以后對別人有幫助

暫無
暫無

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

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