在.net的学习和使用中,会有到传参的时候。传参就有Session与Request两种方法。
首先,我们看看区别:
equest是获取信息--通过用户提交的表单,查询字符串,cookie等获得信息
session是服务端用来保存一些数据(通常是标记状态的,当然也可以保存别的) session是服务端的记录变量,可以跟踪记录访问者动作,比如登录,退出等。 request用在数据提交,表单数据等 request和session的优点和缺点 request占用资源比较少 安全性也比较高 可是相对来说 缺乏持续性
然后,request的使用方法:
在前台写入将要跳转的页面如:
<a href='UpdateProblem.aspx?Problemid= <%#Eval("id") %>'>修改>></a>
我点击按钮进入修改页面。在修改页面后台获取该参数
string id = Request["Problemid"].ToString();
这样,就将参数“id”成功传入下一个页面。
可是如果我在下下个页面,或者很多页面之后需要使用呢?
于是就使用session方法。如:
<asp:LinkButton ID="LinkButton2" runat="server" CommandArgument =' <%#Eval("id") %>' CommandName ='Problem'>设置>></asp:LinkButton>
首先在前台使用一个 LinkButton控件
然后在后台加入该session判断方法
if (e.CommandName == "Problem")
{ string delid = e.CommandArgument.ToString(); Session["ProblemID"] = delid; Page.ClientScript.RegisterStartupScript(GetType(), "js", "<script>window.location.href='Anwser.aspx';</script>"); }在其他页面引用的时候就写
string ProblemID = Session["ProblemID"].ToString();
就OK了!