当前位置: 首页 > 面试题库 >

使用jQuery Ajax调用webmethod ina aspx.cs文件

乌鸿宝
2023-03-14
问题内容

我有一个default.aspx.cs,其中包含要调用的web方法,并且我的js文件包含我的jquery ajax。我无法打电话给网络方法。

这是我的default.aspx.cs:

    protected void Page_Load(object sender, EventArgs e)
    {
        string[] MyArray = new string[1];
        MyArray[0] = "My Value";

        Grid1D.DataSource = MyArray;
        Grid1D.DataBind();
    }

    [WebMethod]
    public Details[] getDetails(string columnname, string inputVal)
    {
        List<Details> list = new List<Details>();

        DbAccess dbacc = new DbAccess();

        DataTable dt = dbacc.getReportDetails(columnname, inputVal);

        foreach (DataRow row in dt.Rows)
        {
            Details _Details = new Details();
            _Details.memid = row["memid"].ToString();
            _Details.usrname = row["usrname"].ToString();
            _Details.fullname = row["fullname"].ToString();
            _Details.fname = row["fname"].ToString();
            _Details.mname = row["mname"].ToString();
            _Details.lname = row["lname"].ToString();
            _Details.bdate = row["bdate"].ToString();
            _Details.address = row["address"].ToString();
            _Details.sponsorid = row["sponsor_id"].ToString();
            _Details.parentid = row["parent_id"].ToString();
            _Details.placement = row["placement"].ToString();
            _Details.datejoined = row["date_joined"].ToString();


            list.Add(_Details);
        }

        Grid1D.DataSource = list.ToArray();
        Grid1D.DataBind();

        return list.ToArray();
    }

这是我的js文件:

function retrieveReportData() {
    var columnName = $("#ddlFilters").val();
    var input = $("#tags").val();

    if (columnName != "Select") {

        var Data = JSON.stringify({ columnname: columnName, inputVal: input });

        alert(Data);

        $.ajax({

            url: "Default.aspx/getDetails",
            data: Data,
            type: "POST",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: function (mydata) {

                alert(mydata.d);
            }
        });

    }
    else 
        alert("Please choose search filter");
}

您可能会注意到,我正在提醒我的数据,以确保我有正确的值发送给我的web方法。但是就像我说的那样,它无法调用我的web方法,并且不在我的Ajax中继续执行我的成功功能。救命!谢谢!:)


问题答案:

您的webmethod必须是static

[WebMethod]
public static Details[] getDetails(string columnname, string inputVal)


 类似资料:
  • 我正在尝试使用Struts 2和jQuery构建Web应用程序。 在改变下拉列表时,我需要从数据库中获取详细信息。在我的< code>struts.xml配置中,我将方法和操作定义如下: 当我在所有相应位置进行更改后执行应用程序时,请求被传递给 类和 DAO 方法,并且控件成功返回到屏幕。但是返回的数据在屏幕上不可用,我收到一条错误消息: url…404未在jQuery中找到(匿名函数)ajax。

  • 问题内容: 我正在尝试使用jQuery中的$ .ajax()函数调用php文件,但是它不起作用。单击页面上的按钮时,将运行以下代码: 这是我的表格: 我已将表单的onClick设置为返回false,以便表单在提交时不会重新加载页面,从而可以运行jQuery。 任何帮助是极大的赞赏。 问题答案: 人们使用 表格的 主要原因是可以定义一个 动作 (在您的情况下为php脚本), 方法 (GET或POST

  • 通过io的requestAbs方法调用/调用/使用REST API的vertx实现。vertx。果心http。vertx-core-3.2.0中的HttpClient类。jar导致HTTP错误::302,响应数据为HTML Erro响应。 不确定requestAbs方法的行为,因为没有引发异常,也没有写入任何日志。此外,还随附了使用vertx JAR的此方法的源代码。如果方法实现有bug,是否有问

  • 我需要在调用SFTPendpoint之前调用特定逻辑。考虑中的逻辑将在exchange中注入一些标头。当SFTP路由启动时,将使用这些标头。 因此,我试图在第一次计时时调用我的初始设置逻辑。它只会运行一次。某些标头将设置在exchange对象内。然后,在完成此操作后,应调用文件endpoint。标头应流经在这些endpoint之间传递的exchange对象。 我试着探索这个的直接组件。我试过这样的

  • 配置文件配置在caches/configs/目录下。 配置文件调用:使用 load_config方法示例: $upload_url = pc_base::load_config('system','upload_url');//调用系统配置中的附件路径 $upload_url = pc_base::load_config('system','web_path');//调用系统配置中的网站主路径 $

  • 问题内容: 我希望能够使用远程链接从Rails调用文件下载。我的链接正常工作,看起来像这样: 响应中包含正确的文件,但是当响应进入时,下载对话框不会出现。是否可以调用下载对话框?我需要这个才能在IE和Firefox中工作 谢谢, -C 问题答案: ParticleTree的一篇文章提到了一个简单有效的解决方案, 它根本不涉及AJAX ,但是 确实导致文件下载 而用户无需离开当前页面: 这并不能直接