如何从javascript调用asp.net .cs页面中的方法?

时间:2014-01-24 09:34:10

标签: c# javascript jquery asp.net

我正在尝试调用Edit.aspx.cs中的方法插入,但它没有调用

    <script src="jquery-2.0.2.js"></script>

   <script language="javascript">
               function insert() {

              $.ajax({
              type: "POST",
              url: "Edituser.aspx.cs/insert",
               success: function () { alert('success'); },
               error: function () { alert('error'); }

                });


              }


</script>

 <input type="button" id="Button1" style="display: none" onclick="changecourse(); insert();"  value="add" />

我的代码隐藏

    public void insert()
    {
        string a = Hidden1.Value;
        string UserId = Convert.ToString(Session["LoginId"]);
        con.Open();
        SqlCommand cmd = new SqlCommand("INSERT INTO UserDepot (UserId,DepotId)" +
            "VALUES ('" + UserId + "','" + a + "')", con);
        cmd.ExecuteNonQuery();
        con.Close();
    }

2 个答案:

答案 0 :(得分:4)

要使其正常工作,请确保url中设置的方法位置正确且方法为publicstatic且添加了[WebMethod]属性如:

[WebMethod]
public static void doAll()
{
    //do something
}

如果url是“/Default.aspx/insert”,那么您的方法应如下所示:

[WebMethod]
public static void insert()
{
    //do something
}

答案 1 :(得分:0)

发送QueryString以将用户编辑为aspx

$.ajax({
          type: "POST",
          url: "Edituser.aspx?run=add",
           success: function () { alert('success'); },
           error: function () { alert('error'); }

            });

然后将一个if加载到Edituser.aspx的页面加载

if (Request.QueryString["run"] == "add")
            {
               insert();//your Function Name
            }