如何在asp.net中从javascript调用codebehind函数?

时间:2015-03-03 08:30:45

标签: javascript c# asp.net

我想使用javascript从我的代码后面调用一个函数。我使用了以下代码:

function fnCheckSelection() {
some script;
window["My"]["Namespace"]["GetPart"](null);
}

...其中"GetPart"是函数名称。但是,这不起作用。请帮帮我。

4 个答案:

答案 0 :(得分:17)

JavaScript中的

    document.getElementById("btnSample").click();

服务器端控制:

    <asp:Button runat="server" ID="btnSample" Text="" style="display:none;" OnClick="btnSample_Click" />

C#

    protected void btnSample_Click(object sender, EventArgs e)
    {

    }

虽然很容易...

答案 1 :(得分:7)

您可以通过ajax调用

执行此操作

这是一个jquery示例:

$.ajax({
            type: "POST",
     url:"~/code_behind.aspx/Method",
            data: dataPost,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
    ....
    });

这里是api文档 并在代码背后

[WebMethod]
public static yourType Method (Params){}

或者您可以在updatePanel中添加隐藏按钮,并使用js调用click事件。 ('#<%=ID.ClientID%>').click(); 它会调用OnClientClick,如果它存在,那么你的codeBehind fucntion。

答案 2 :(得分:2)

试试这个

您的代码隐藏功能

[WebMethod]
public  static void GetPart() {

               //your code goes here
}  

。        的的Javascript

$(document).ready(function () {

 $("#btnname").click(function () {

 $.ajax({
                    type: "POST",
                    url: "/youraspxpagename.aspx/GetPart",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg)
                    {

                    }
                });
});

});

答案 3 :(得分:-1)

使用ajax,您可以使用JQuery从javascript调用函数后面的代码:

function : fnCheckSelection(){
    $.ajax({
        cache: false,
        url: "/GetPart"
        type: "POST",
        success: function (result) {

        },
        error: function (msg) {

        }
    });
}