0

我的网站使用 ajax 和 .Net webmethods。

在本地和 99% 的客户上一切正常。但是有一些客户端不断收到此错误:“无效的 Web 服务调用,参数缺失值:\u0027elementid\u0027”。

该错误似乎在早上更频繁,并且所有收到此错误的客户都在同一栋楼中。我尝试了许多不同的解决方案,但它们通常适用于对 web 方法的调用根本不起作用的情况。我认为问题可能出在所述建筑物的网络中。

Javascript:

    function queryDbForMeldingen() {
        //Get items from db and use the result to fill the page
        SendAjax("FindMeldingen", formatMeldingConstraints(), formatMeldingTabel);
    }

    function formatMeldingConstraints() {
        /*code omitted for clarity*/
        var constraints = {
            itemsonpage: parseInt(aantalItems),
            pagenr: parseInt(currentPage),
            orderby: orderby,
            orderdirection: orderdirection,
            elementid: $('#<%= ddlElementen.ClientID %>_ddlElementen').val(),
            filiaalid: $('#<%= ddlFiliaal.ClientID %>_ddlVestiging').val(),
            statusid: $('#<%= ddlStatus.ClientID %>_ddlEnum').val(),
            prioriteitid: $('#<%= ddlPrioriteit.ClientID %>_ddlPrioriteiten').val(),
            uitvoerderid: $('#<%= ddlUitvoerder.ClientID %>_ddlLeveranciers').val(),
            extraid: $('#<%= ddlExtra.ClientID %>_ddlEnum').val(),
            toonid: $('#<%= ddlMeldingToon.ClientID %>_ddlEnum').val(),
            datefrom: $('#<%= tb_date_from.ClientID %>').val(),
            dateto: $('#<%= tb_date_to.ClientID %>').val(),
            trefwoord: $('#<%= tb_keyword.ClientID %>').val()
        };

        return JSON.stringify(constraints);
    }

C#:

[WebMethod]
public List<Melding> FindMeldingen(int itemsonpage, int pagenr, string orderby, string orderdirection,
    int elementid, int filiaalid, int statusid, int prioriteitid, int uitvoerderid, int extraid,
    int toonid, string datefrom, string dateto, string trefwoord)

我可能很傻,错过了一些非常简单的东西。

提前致谢,

枯萎病

4

1 回答 1

0

似乎 $('#<%= ddlElementen.ClientID %>_ddlElementen').val() 没有返回您期望的值。你为什么不尝试给它一个默认值?$('#<%= ddlElementen.ClientID %>_ddlElementen').val() || '缺少元素'

然后你会看到你是否在服务器请求中找到了 elementid 默认值。

是否所有其他值都发送到服务器?

于 2012-08-08T14:25:26.907 回答