2017-10-15 11 views
0

私はASP.NETでWebサイトを設計しており、Steam APIをその中に統合しています。私は認証にDotNetOpenAuthを使用しています。私は変数responseURI(行22)にアクセスして表示する方法について混乱しています。私はこれを使用してWebページ上で変数を表示しようとするたびに:ASP.NET WebページでC#変数を表示

<p><%=responseURI%></p> 

私が伝えるメッセージを取得:

を名「responseURI」は現在のコンテキストに存在しません。ここで

それだけでそのswitch例文脈で、ページのコンテキスト内に存在しないので、私のC#

using DotNetOpenAuth.OpenId.RelyingParty; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class loginPage : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     var openid = new OpenIdRelyingParty(); 
     var response = openid.GetResponse(); 

     if (response != null) 
     { 
      switch (response.Status) 
      { 
       case AuthenticationStatus.Authenticated: 
        // do success 
        var responseURI = response.ClaimedIdentifier.ToString(); 
        break; 

       case AuthenticationStatus.Canceled: 
       case AuthenticationStatus.Failed: 
        // do fail 
        break; 
      } 
     } 
     else 
     { 
      using (OpenIdRelyingParty openidd = new OpenIdRelyingParty()) 
      { 
       IAuthenticationRequest request = openidd.CreateRequest("http://steamcommunity.com/openid"); 
       request.RedirectToProvider(); 
      } 
     } 
    } 
} 
+1

が重複する可能性をto aspx page](https://stackoverflow.com/questions/7406961/how-to-call-a-variable-in-code-behind-to-aspx-page) – NineBerry

答えて

4

です。 Pageはクラスです。クラスレベルの値にしてください。 (私は、視認性が少なくともprotectedする必要があると信じてコードビハインドページから表示されたページ「継承」するからである。)C#で他のプロパティと同様に、クラスレベルに配置されることになる

protected string ResponseURI { get; set; } 

。例:次に

protected string ResponseURI { get; set; } 

protected void Page_Load(object sender, EventArgs e) 
{ 
    //... 
} 

は、あなたのコード内の代わりに設定します。

this.ResponseURI = response.ClaimedIdentifier.ToString(); 

し、ページに表示されます背後にあるコードで変数を呼び出す[方法の

<%=ResponseURI%> 
+0

あなたはこのコードをどこに追加しますか?私? – SlothGod

+0

@ SlothGod:あなたのコードビハインドではもちろん。このプロパティはクラスレベルのメンバであり、他の2行はローカルの 'responseURI'変数の現在の試みられた使用法を置き換えます。 – David

+0

私は自分のコードのどこにいますか?どの行?申し訳ありませんが、もし私が全く無礼なようであれば、私は私のコメントを読んだだけで、私の言うよりも悪くなります – SlothGod

関連する問題