1

多くの方法でアクセスできる profile.aspx というページがあります。クリックすると自分のプロファイルが表示されます (ログインしている場合)。ただし、別のプロファイルの画像を持つハイパーリンクを作成しました。これをクリックすると、このプロファイルを同じページ profile.aspx に表示します。しかし、profile.aspx にリンクすると、自分のプロファイルに確実にアクセスできるため、これを行う方法がわかりません。

他のページで、プロファイルをクリックすると、すべてのプロファイルを互いに分離するために、url が facebook.com/member1 のようになることがわかりました。これは可能な解決策ですか?

4

1 に答える 1

1

一意の ID を使用してプロファイル ページのデータを取得しているため、次の解決策が考えられます。

ログインすると、一意の ID がセッション変数に保存されます。

Session["myID"]= "your id fetched from database";

別の人の画像のハイパーリンクをクリックすると、クエリ文字列の概念を使用して、そのユーザーの一意の ID が URL に追加されます。

Response.Redirect("profile.aspx?ID="userID"); //the userID will be the user's uniqueID.

メニューからプロファイル ページをクリックすると、セッション値が追加されます。

Response.Redirect("profile.aspx?ID=Session["myID"].toString());

次に、ページの読み込みで次のprofile.aspxようにできます。

private void Page_Load(object sender, System.EventArgs e)
{
    string receivedID = Request.QueryString["ID"].toString();
    if(receivedID == Session["myID"].toString())
    {
      //this is yourself, so fetch your data from DB
    }
    else
    {
      //fetch the data of the receivedID passed in querystring(URL)
    }
}
于 2013-01-04T09:40:10.673 に答える