2016-11-23 8 views
0

このトピックで私を助けてくれることを願っています。私はASP.NET C#でプロジェクトを進めています.Jsonを実行するにはタグをクリックする必要がありますこれでセッションが終了します。このためには、RestartSesion()メソッドを呼び出す必要があります。asp.netでセッションを再開するC#an json

すべてのコードは、マスターページにあります。

アラートだけがテキスト「エラー」を表示するという問題があります。 ''。

私が何をしたか教えてください。

私はいくつかの方法を持つVSesionクラスを持っていますが、私が今日取り組んでいるのはRestartSesionです。

public static void ReiniciarSesion() 
{ 
    HttpContext.Current.Session.Abandon();   
    HttpContext.Current.Response.Redirect(Resources.SitePages.Login); 
} 

Template.Master.cs ReiniciarSesionを呼び出します。

[WebMethod] 
public static void ReiniciarSession() 
{ 
    VSesion.ReiniciarSesion(); 
} 

Template.Master。ここに私のトラブルがあります。ここで

<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     $("#Reiniciar").click("click", function() { 
      ReiniciarSession(); 
     }); 
    }); 
    function ReiniciarSession() { 
     $.ajax({ 
      type: "POST", 
      url: "Template.Master/ReiniciarSession", 
      data: {}, 
      contentType: "application/json; charset=utf-8", 
      dataType: "json", 
      async: true, 
      error: function(XMLHttpRequest, textStatus, errorThrown) { 
       alert(textStatus + ": " + XMLHttpRequest.responseText); 
      } 
     }); 
    } 
</script> 

は、HTMLテンプレートです:

<ul> 
    <li> 
     <a href="#" id="Reiniciar"> 
     <span>Salir</span> 
     </a> 
    </li> 
</ul> 

<script src="JS/jquery.js" type="text/javascript"></script> 
<script src="JS/jquery-1.11.3.min.js" type="text/javascript"></script> 

私はあなたが私を助けることができると思います。ありがとうございました。!!

+0

2つのリクエスト:英語のみを使用し、ブラウザ内で動作する完全なHTML/CSS/Javascriptコードにのみコードスニペットを使用してください。他のすべてのタイプのコードでは、** {} **ボタンを使用します。これはCtrl-Kを使用する場合と同じです。 –

+0

@Peter B、私はすでに編集しており、レビューは保留中です。 –

+0

Template.Master/ReiniciarSessionは有効なURLではありません。 $ .ajaxを使用している場合、Response.Redirectは機能しません。 [window.location](http://stackoverflow.com/questions/503093/how-do-i-redirect-to-another-page-in-jquery)を使用します。 –

答えて

0

@JeroenHeierが指摘したように、Template.Master/ReiniciarSessionはマスターページを指しており、実際の.aspxページでレンダリングに使用されていますが、それらはブラウズできません。 Masterページの代わりに、Loginのような特定のページにReiniciarSession WebMethodを実装する必要があります。

そして、そのページにAJAX呼び出しを変更します。

function ReiniciarSession() { 
    $.ajax({ 
     ... 
     url: "/Login.aspx/ReiniciarSession", 
     ... 
    }); 
} 

をセッションがどのページから独立しているとして、あなたが閲覧している、効果は同じになります。

関連する問題