for(int i=0;i<dsAdmin.Tables[0].Rows.Count;i++)
{
lblAdmin.Visible = true;
lblAdminNote.Visible = false;
Session["ProjectName"] = dsAdmin.Tables[0].Rows[i][0];
lblAdmin.Text += "你发布了:<a href='ProjectInfo.aspx'>"+dsAdmin.Tables[0].Rows[i][0]+"</a>项目<br/>";
}安装上面的代码我读取出来了3个值:
你发布了:A项目
你发布了:B项目
你发布了:C项目
可是当我单击A的时候,因为for语句执行结束之后,session的值就是C了。大家有没有什么好的方法解决呢?
该方法传递你每次遍历到的值
在这个方法中拼接
放到一个数组 或 list<T>Session["ProjectName"] = 这个数组;然操作这个数组
我说的很清楚了啊
你在For循环时,不是每次都有值吗,那就再加个方法,用来传你每次循环的值
在你写的这个方法里
来决定最终的输出
System.Web.HttpContext.Current.Response.Flush();
说了用数组或者list<T> arrylist 都行啊!
{
lblAdmin.Visible = true;
lblAdminNote.Visible = false;
lblAdmin.Text += "你发布了:<a href='ProjectInfo.aspx?value=" + dsAdmin.Tables[0].Rows[i][0] + "'>" + dsAdmin.Tables[0].Rows[i][0] + "</a>项目<br/>";
}
ProjectInfo.aspx (你的接收页面)
Session["ProjectName"] = Request["value"].ToString();是不是更好些呢- -
string []str;
for(int i=0;i<dsAdmin.Tables[0].Rows.Count;i++)
{
lblAdmin.Visible = true;
lblAdminNote.Visible = false;
str[i]= dsAdmin.Tables[0].Rows[i][0];
lblAdmin.Text += "你发布了:<a href='ProjectInfo.aspx'>"+dsAdmin.Tables[0].Rows[i][0]+"</a>项目<br/>";
}
Session["ProjectName"]=str;
{
lblAdmin.Visible = true;
lblAdminNote.Visible = false;
Session["ProjectName"] = dsAdmin.Tables[0].Rows[i][0];
YouMethod(Session["ProjectName"]);
}
public void YouMethod(string msg)
{
if(msg=="A")
lblAdmin.Text += "你发布了:<a href='ProjectInfo.aspx'>A"</a>项目<br/>";
..
....
.....不知道你是想这样的意思吗
}
string []str;
for(int i=0;i<dsAdmin.Tables[0].Rows.Count;i++)
{
lblAdmin.Visible = true;
lblAdminNote.Visible = false;
str[i]= dsAdmin.Tables[0].Rows[i][0];
lblAdmin.Text += "你发布了:<a href='ProjectInfo.aspx'>"+dsAdmin.Tables[0].Rows[i][0]+"</a>项目<br/>";
}
Session["ProjectName"]=str;
这样你都还看不懂? 别的页面 把Session["ProjectName"]转成str数组就是了啊!!!string []str=Session["ProjectName"] as string[];string aa=str[0];
string bb=str[1];
保存每次的值