使用javascript调用服务器端代码后无法刷新页面

时间:2011-04-05 08:38:18

标签: javascript asp.net ajax

我使用Ajax的EnablePageMethods方式使用javascript调用服务器端代码。问题是在IE8中,页面在ajax调用完成后自动刷新,即服务器端功能已成功执行。我希望Chrome和Firefox能够实现同样的效果,但是一旦执行了服务器端功能,它就不会刷新页面。

有任何想法或建议如何实现这一目标?

我用这种方式从Javascript调用服务器端代码 - http://www.codeproject.com/KB/ajax/Ajax_Call_using_AjaxNet.aspx

这是javascript函数:

   function editNode(note) {              
   PageMethods.deleteNote(note);                  
    } 

这是服务器端功能:

[System.Web.Services.WebMethod]
public static void deleteNote(int noteId)
{
string test = noteId.ToString();
Note note = new Note(noteId);
note.IsDeleted = true;
note.update();
}

这是我调用javascript事件的地方:

<a href='myPageName.aspx' onclick='javascript:editNode(1);return false;'>Delete</a>

1 个答案:

答案 0 :(得分:0)

我是这样做的:

     function editNode(note) {              
              PageMethods.deleteNote(note,OnSuccess,OnFailure);  

                 } 
        function OnSuccess() {         
        if (!navigator.appName == 'Microsoft Internet Explorer')
             {
             window.location.href=window.location.href;
             }             
           }
        function OnFailure(error) {             
            }     

我在这个链接上找到了这个解决方案:

http://www.codedigest.com/CodeDigest/80-Calling-a-Serverside-Method-from-JavaScript-in-ASP-Net-AJAX---PageMethods.aspx