2012-01-05 66 views
0

我正在使用jqgrid,並在點擊jqgrid時在同一頁上打開表單。 我也在使用ASP.Net用戶身份驗證。在asp.net中使用jqgrid進行表單身份驗證

問題是,當我點擊網格行和會話過期。它以相同的形式打開登錄頁面,而不是轉到登錄頁面。

任何人都可以在這方面幫助我嗎?

這裏是我的jqGrid代碼:

$(document).ready(function() { 

    $(':checkbox').click(function() { 
     var value = $("#cb").is(":checked"); 
     $("#document-grid").jqGrid('setGridParam', { datatype: function (postdata) { 
      $.ajax({ 
       type: "POST", 
       url: "/Calls/Documents.aspx/Find?showarchive=" + value, 
       data: JSON.stringify($.extend({ 'filters': '' }, postdata)), 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (res) { 
        $("#document-grid")[0].addJSONData(res.d); 
       } 
      }); 
     } 
     }).trigger("reloadGrid", [{ current: true}]); 
    }); 

    $("#document-grid").generalGrid({ 
     url: '/Calls/Documents.aspx/Find', 
     jqGridOptions: { 
      pager: '#document-grid-pager', 
      colNames: ['Titel', 'Uploaddatum', 'Omschrijving', 'Bestandsnaam'], //, 'Type' ], 
      colModel: [ 
        { name: 'Titel', index: 'Title' }, 
        { name: 'Uploaddatum', index: 'Uploaddatum', sorttype: 'date', searchoptions: { 
          dataInit: function (elem) { 
           $(elem).datepicker({ 
            onSelect: function(dateText, inst){ $("#document-grid")[0].triggerToolbar(); } 
           }); 
          }, 
         } 
        }, 
        { name: 'Beschrijving', index: 'Description' }, 
        { name: 'Bestandsnaam', index: 'Filename' } 
      //     { name: 'Type', index: 'Type' } 
       ], 
      sortname: 'UploadDate', 
      caption: '', 
      onSelectRow: function (Id) { 
       alert(Id); 
       $("#document-form").box('destroy').ajaxFormPanel('destroy').ajaxFormPanel({ url: '/Forms/Document.aspx?Id=' + Id, 
        loaded: function (s) { 
         $("#txtUploadDate, #txtExpirationDate", s.element).datepicker(); 
         $(s.element).box({ title: 'Document bewerken' }); 
        }, 
        postback: function (s) { 
         $("#document-grid").trigger("reloadGrid", [{ current: true}]); 
         // $("#document-form").ajaxFormPanel('destroy').ajaxFormPanel({ url: '/Forms/Document.aspx?Edited=true&Id=' + Id }).ajaxFormPanel('open');      
        } 
       }).ajaxFormPanel('open'); 
      } 
     } 
    }); 

,並在Web.config中我的用戶身份驗證碼爲:

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" 
     protection="All" 
     timeout="1" 
     name=".ASPXFORMSAUTH" 
     path="/" 
     requireSSL="false" 
     slidingExpiration="true" 
     defaultUrl="Default.aspx" 
     cookieless="UseDeviceProfile" 
     domain="" 
     enableCrossAppRedirects="false" /> 
</authentication> 

感謝名單提前..

回答

0

我會想象你可以檢查返回代碼爲301的http響應(重定向)。像

if (response.status == 301) 
{ 
    document.location = "login.aspx"; 
    return; 
} 
load jqgrid normally. 
相關問題