時間を割いて私の質問を読んでくれてありがとう。別のユーザーのプロフィールページにアクセスする可能性のあるサイトへの訪問者がいます。その後、サイトにログインするか、現在メンバーでない場合は新規登録することをお勧めします。これらのアクションにより、最初のページ/ URLからかなり離れた場所に移動しますが、ログイン/サインアップが完了した後、開始位置を「追跡」することで、そのページに「ジャンプ」できるようにしたいと考えています。(注:重要な場合は、標準のMicrosoftメンバーシッププロバイダークラスを使用しています。)「ジャンプバック」の部分は簡単に思えますが、問題となるのは「追跡」の部分です。
イラスト/例:
訪問者は、次をクリックした後にサイトに到着します:www.mysite.com/profiles/ID=108
次に、訪問者はそのページを離れてログインします。(ログインした)ユーザーがそのプロファイルページに戻るための適切なオプションがあるように、どうすればID = 108を最適にキャプチャできますか?クッキーは最適ではないことを読んで理解しましたが、他のオプションのいくつかは、ユーザーがまだログインしていないなどの理由で、モンキーレンチを私の考えに投げ込んでいるようです。
最良のMVC3の方法でこれに対処するために私が取ることができる具体的なステップはありますか?
編集:
public ViewResult MyProfile(int? id)
{
HttpCookie cookie = new HttpCookie("MySiteCookie");
cookie.Value = id.ToString();
cookie.Expires = DateTime.Now.AddYears(1); //or whatever time is appropriate
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
//do some other stuff
}
もう一方の端では、Cookieを利用するために、次のように(一時的に)メニューに追加しました。
var MyProfileId = "";
if (Request.Cookies["MySiteCookie"] != null)
{HttpCookie cookie = request.Cookies["MySiteCookie"];
MyProfileId = Server.HtmlEncode(cookie.Value);}
それからあなたはそれをあなたのリンクに入れます