強類型會話對象根據各種來源網上,我應該用這個MVC引用我的觀點
public static class SessionExtensions
{
/// <summary>
/// Get value.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="session"></param>
/// <param name="key"></param>
/// <returns></returns>
public static T GetDataFromSession<T>(this HttpSessionStateBase session, string key)
{
return (T)session[key];
}
/// <summary>
/// Set value.
/// </summary>
/// <param name="session"></param>
/// <param name="key"></param>
/// <param name="value"></param>
public static void SetDataToSession(this HttpSessionStateBase session, string key, object value)
{
session[key] = value;
}
}
要使用會話對象的MVC。 我已經做了以下BaseController
public class BaseController : Controller
{
public int UserID
{
get { return Session.GetDataFromSession<int>("UserID"); }
set { Session.SetDataToSession("UserID", value); }
}
}
我現在繼承BaseController
public class RequestsController : BaseController
{
private FooModel db = new FooModel();
// GET: Requests
public ActionResult Index()
{
var viewModel = Mapper.RequestIndex(UserID);
return View(viewModel);
}
}
,我可以使用用戶名會話對象沒有問題。
如何在我的視圖中使用相同的會話對象,而無需將其添加到模型中。
<div class="clearfix">
@if (Session["UserID"].ToString() == "1")
{
<div class="btn btn-default pull-right ">
@Html.ActionLink("Super Special link for User 1", "sslfu1")
</div>
}
</div>
Session["UserID"]
在這裏不正確。我應該使用什麼?
「不正確」是什麼意思?你是否交叉檢查Session是否被設置? – ramiramilu