2009-07-14 67 views
0

考虑下面的JavaScript代码:ASP.NET AJAX页面方法不一致

function ValidateFlagAsUrgent() { 
     selectedValuesList = document.getElementById('<%= _searchResultsUserControlUserControl.SelectedValuesHiddenFieldClientID %>').value; 
     $.ajax({ 
      type: 'POST', 
      url: window.location.href + '/' + 'AreAnyOfTheSelectedTasksInMyProjects', 
      data: '{"selectedTasks":"' + selectedValuesList + '"}', 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      success: AjaxProjectManagerSucceeded, 
      error: AjaxFailed, 
      async: false 
     }); 
    } 

    function AjaxProjectManagerSucceeded(result) { 
     if (result.d == true) { 
      document.getElementById('<%= _variableWarningCioLabel.ClientID %>').innerHTML = ''; 
      document.getElementById('<%= _areAnyOfTheSelectedTasksInMyProjects.ClientID %>').value = 'true'; 
     } 
     else {    
      document.getElementById('<%= _areAnyOfTheSelectedTasksInMyProjects.ClientID %>').value = 'false'; 
     } 
    } 

    function AjaxFailed(result) { 
    alert('Error: ' + result.status + ' ' + result.statusText); 
} 

,并在后面的我的代码给出下面的页面方法:

[WebMethod] 
    public static bool AreAnyOfTheSelectedTasksInMyProjects(string selectedTasks) 
    { 
     using (MyDataContext context = new MyDataContext()) 
     { 
      IEnumerable<Guid> selectedTasksThatAreInMyProjects = 
       from st in selectedTasks.Split('|') 
       join t in context.Tasks 
        on st equals t.Number.ToString() 
       join pr in context.ProjectRepresentatives.Where(pr => pr.UserID == ContextHelper.CurrentUserID) 
        on t.Request.ProjectID equals pr.ProjectID 
       select t.ID; 

      return selectedTasksThatAreInMyProjects.Any(); 
     } 
    } 

jQuery的AJAX方法调用偶尔返回'错误:200 OK'。

错误的罕见自然使我相信,我的Web服务器“在一个糟糕的状态被”,以及(无论何种原因)不能服务于传入的请求。

据我所知,'错误:200 OK'可能表示返回的内容格式不正确,不符合指定的contentType。虽然这一切都很好,但我需要理解为什么我的代码可能会定期受到这种情况的影响。

任何人都可以协助吗?

回答

0

页的方法是不一致。

但是查询字符串可以改变'window.location.href'。

该页面将始终引用相同的代码隐藏文件,所以没有理由去依靠“window.location.href”。我可以改写页面名称。