【问题标题】:How to use session with @html.displayfor如何使用带有@html.displayfor 的会话
【发布时间】:2015-07-20 13:32:30
【问题描述】:

我需要有关如何使用 mvc 中的会话从视图中获取生成的 I.d 的帮助...

@Html.Displayfor(m => m._consultation.consultid) 

假设 Consultid 的值为 1,我想使用 session 来获取该 ID

【问题讨论】:

  • 问题不清楚
  • 其实 m => m._consultation.consultid... 是从我的强类型模型中得到的...所以我想使用 session @pankaj 获取咨询 ID 的值
  • 您可以在传递给视图之前将其存储到会话中,在控制器操作中
  • 假设您的模型是 Employee 并且您正在调用 View 之类的 View(EmployeesObj) ;在此之前,您可以访问EmployeesObj 的属性并存储到会话。喜欢。 HttpContext.current.session["id"]=EmployeesObj.I'd;

标签: c# asp.net asp.net-mvc session razor


【解决方案1】:

您通常希望首先在控制器中与会话进行交互。因为这通常是您可以访问数据的地方。我假设这个 _consultation.consultid 值只是这个答案的控制器的私有成员。

因此,要在会话中存储它实际上就像在控制器方法中添加到会话一样简单:

[HttpGet]
public ActionResult Index()
{
    this.Session["ItemName"] = _consultation.consultid

    return View(new SampleViewModel());
}

将其显示在您的视野中很容易。默认情况下,会话信息应该是可访问的:

<h1>Hello Stranger @Session["ItemName"]</h1>

请记住,此会话数据在当前浏览会话的整个生命周期内都存在。这意味着:

  1. 它会在当前浏览会话期间从请求到请求持续存在,因此在相关时始终更新此值非常重要。
  2. 如果用户在几天后使用“记住我”cookie 重新登录,它将不再存在。因此,重要的是不要依赖这个始终存在的价值。

在开发应用程序时请牢记这些。

【讨论】:

  • 感谢@pankajdey 非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 2016-06-06
  • 2013-07-25
  • 2018-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多