2009-10-01 4 views
0

Je regarde le code dans this article sur les méthodes Web et j'ai essayé de l'implémenter. L'article fonctionne comme prévu mais lorsque j'échange le bouton HTML pour un bouton asp: j'obtiens des résultats différents.Méthodes Web fonctionne avec le bouton html mais pas asp: bouton

CODE derrière:

[WebMethod] 
    public static string GetCurrentDate() 
    {   
     return DateTime.Now.ToString(); 
    } 

page ASPX:

js:

<script type="text/javascript"> 
    function UpdateTime() { 
     $get('Label6').innerHTML = PageMethods.GetCurrentDate(OnSucceeded, 
            OnFailed); 
} 

function OnSucceeded(result, userContext, methodName) { 
    $get('Label6').innerHTML = result; 
} 

function OnFailed(error, userContext, methodName) { 
    $get('Label6').innerHTML = "An error occured."; 
} 
</script> 

et d'autres balises

<form id="form1" runat="server"> 
    <asp:ScriptManager EnablePageMethods="true" 
     ID="ScriptManager2" runat="server"> 
    </asp:ScriptManager> 

<div id="usingWebMethods"> 
     <asp:Label runat="server" 
      Text="Using WebMethods" 
      ID="Label5" /> 
     <br /> 

     <asp:Label 
      runat="server" 
      Text="Web Method Update!" 
      ID="Label6" /> 
     <asp:Button ID="Button3" 
      runat="server" 
      Text="Postback Update" 
      OnClientClick="UpdateTime();" 
      UseSubmitBehavior="False" />  
     <input type="button" 
      id="Button4" 
      value="Web Method Update" 
      onclick="UpdateTime();" /> 


</div> 
</form> 

J'ai remarqué 2 choses avec le bouton. Le bouton renvoie une erreur et même si l'étiquette change, viewstate n'est pas mis à jour.

Pourquoi ces 2 problèmes se produisent-ils et que puis-je faire pour les résoudre?

+0

Vérifiez la source html de votre page. Assurez-vous que le bouton asp: rend le rendu correct. –

Répondre

1

ViewState est uniquement mis à jour lors de la publication. Vous utilisez le vrai AJAX. Il n'a aucun moyen de savoir ce que vous avez fait.

Questions connexes