Как разделить переменную между представлениями asp.net mvc - PullRequest
1 голос
/ 19 января 2012

Мне нужно получить доступ к UserId из всех моих приложений asp.net mvc, чтобы использовать его для скрытия / отображения некоторых элементов:

UserId первичный ключ в пользовательских таблицах (на сервере SQL).

в обычном asp.net я использовал BasePage: Page и добавил:

public long FinKaynUserId
{
   //long FinKaynUserId = 0;
   get
   {
       if (HttpContext.Current.Session["FinKaynUserId"] != null && Convert.ToInt64(HttpContext.Current.Session["FinKaynUserId"]) != 0)
           return Convert.ToInt64(HttpContext.Current.Session["FinKaynUserId"]);
       else
       {
           HttpCookie myCookie = HttpContext.Current.Request.Cookies["FinKaynUserId"];
           if (myCookie != null)
           {
               HttpContext.Current.Session["FinKaynUserId"] = Convert.ToInt64(myCookie.Value);
               // Session["User"] = (new UserManager()).GetUser(Convert.ToInt64(Session["UserId"]));
               return  Convert.ToInt64(HttpContext.Current.Session["FinKaynUserId"]);
           }
           else
              return 0;
       }
   }
   set
   {
       HttpCookie cookie = new HttpCookie("FinKaynUserId");
       cookie.Value = value.ToString();
       cookie.Secure = false;
       cookie.Expires = DateTime.Now.AddDays(3);
       HttpContext.Current.Request.Cookies.Add(cookie);
       HttpContext.Current.Session["FinKaynUserId"] = value;
   }

}

Как мне сделать то же самое в asp.net mvc.

Ответы [ 3 ]

1 голос
/ 15 февраля 2012

HttpContext.Current.Session ["Session_User"] = значение;

1 голос
/ 02 апреля 2014

Если использование переменной находится на уровне сеанса, используйте: Session["Variable"]="value"; Или же, если использование в приложении, используйте: System.Web.HttpContext.Current.Application["Variable"]="value";

0 голосов
/ 19 января 2012

Один из вариантов - сохранить вашу переменную в контексте приложения:

Application["FinKaynUserId"] = value;

И тогда вы можете просто получить ее в другом разделе кода, например:

if (Application["FinKaynUserId"] != null)
{
    long FinKaynUserId = (long)Application["FinKaynUserId"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...