日期:2014-05-17  浏览次数:20446 次

asp.net C#代码前置的时候怎么读取Session
在一个已经编译的项目里要添加一些小功能
直接用代码前置的写法,就是程序和页面一起写在.aspx中。

现在要先读出原来程序中有什么Session


<%@ Page Language="C#"%>
<script runat="server">
foreach (string strSee in Session)
{
Response.Write(strSee + "=" + Session[strSee] + "<BR/>");
}
</script>

程序报错!

“/”应用程序中的服务器错误。
编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误消息: CS1519: 类、结构或接口成员声明中的标记“foreach”无效

源错误:


行 1:  <%@ Page Language="C#"%>
行 2:  <script runat="server">
行 3:   foreach (string strSee in Session.Keys)
行 4:   {
行 5:   Response.Write(strSee + "=" + Session[strSee] + "<BR/>");


请问,怎么读取Session。

还有,如果用编译的话,那么怎么加入本来的项目里。

------解决方案--------------------
应该是在方法内输出。如Page_Load()
------解决方案--------------------
你加了<script runat="server">代码块就必须放在方法里
否则要这么写
<%
foreach (string strSee in Session.Keys)
{
       Response.Write(strSee + "=" + Session[strSee] + "<BR/>");
}
%>