【问题标题】:Cannot refresh the page after calling Server Side code using javascript使用javascript调用服务器端代码后无法刷新页面
【发布时间】:2011-05-28 22:17:43
【问题描述】:

我正在使用 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>

【问题讨论】:

  • 请具体向我们展示您的代码。
  • 我尝试使用 Response.Redirect 到服务器端函数内的同一页面,但它不起作用

标签: javascript asp.net ajax


【解决方案1】:

我是这样做的:

     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

【讨论】:

    猜你喜欢
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多