2012-08-08 17 views
0

Mon site Web utilise les méthodes web ajax et .Net.Appel de service Web non valide uniquement sur certains clients

Tout fonctionne bien localement et sur 99% des clients. Mais il y a quelques clients qui continuent d'obtenir cette erreur: "Appel de service Web non valide, valeur manquante pour le paramètre: \ u0027elementid \ u0027".

L'erreur semble être plus fréquente les matins et tous les clients qui reçoivent cette erreur sont dans le même bâtiment. J'ai essayé beaucoup de solutions différentes, mais elles s'appliquent généralement lorsque l'appel à la méthode Web ne fonctionne jamais du tout. Je pense que le problème peut être quelque part dans le réseau de ce bâtiment.

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) 

Je suis probablement stupide et manque quelque chose très simple.

Merci à l'avance,

Blight

Répondre

0

On dirait $ ('# <% = ddlElementen.ClientID%> _ ddlElementen'). Val() ne retourne pas la valeur que vous attendez. Pourquoi n'essayez-vous pas de lui donner une valeur par défaut? $ ('# <% = ddlElementen.ClientID%> _ddlElementen'). Val() || 'missing elementid'

Ensuite, vous verrez si vous trouvez la valeur par défaut elementid sur la requête du serveur.

Toutes les autres valeurs sont-elles envoyées au serveur?

Questions connexes