我只能让它与铸造一起工作:
<p>@(string)Session["variable"]</p>
尽管我已经很长时间没有尝试使用它了ToString()
,但我确实清楚地记得我尝试调用 Session 变量的尝试只有在使用强制转换选项时才能成功,尽管我听说这ToString()
应该有效。无论哪种方式,我总是让它与铸造一起工作。
话虽如此,我觉得我应该警告你,如果你只是想在页面之间传递数据,你根本不应该使用 Session 变量。在执行此操作之前,请使用隐藏的表单字段、查询字符串、Url 数据,甚至 cookie 和/或数据库。
我喜欢将 Session 变量视为可以快速解决非常特殊情况的东西,并且只能非常小心地使用。总是期望该值为 null 并在使用它之前测试它的值。
有关使用 WebMatrix 在网页之间传输数据的选项的帮助,请查看 Mike Brind 非常有用的网站: http: //www.mikesdotnetting.com/Article/192/Transferring-Data-Between-ASP.NET-Web-Pages <-- You'll want to bookmark this for now. It is right up the alley of what you are getting yourself into with WebMatrix.
如果您仍然想使用 Session 变量并且强制转换不起作用,那么我认为会导致错误的唯一另一件事是您期望的值Session["variable"]
不是您认为的那样。
作为记录:
我只是想说明一点,“甚至是在你这样做之前的 cookie 和/或数据库”请不要使用这些选项,因为在你的情况下它们可能很糟糕(而且,cookie 只会给你同样的问题实际上是会话变量)。无论如何,这实际上完全取决于您如何使用数据,以及您是否始终检查以确保在会话变量和/或 cookie 的情况下该值没有被清除。