2009-10-01 44 views
0

我正在查看this关于Web方法的文章中的代码,并试图实现它。 该文章按设计工作,但当我交换一个asp:按钮的HTML按钮时,我得到了不同的结果。Web方法使用HTML按钮但不是asp:按钮

后面的代码:

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

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> 

和其他标记

<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> 

我注意到2件事情的按钮。该按钮返回发生错误,即使标签更改视图状态未更新。

为什么会出现这两个问题,我该如何解决它们?

+0

检查页面的html源代码。确保asp:按钮呈现正常。 – 2009-10-01 09:28:37

回答

1

ViewState只在回传时更新。您正在使用真正的AJAX。它无法知道你做了什么。