ASP.NET中页面之间传值的方法
我做了两个页面,一个查询页面Search.aspx和一个显示详细信息的页面Detail.aspx,查询页面将从数据库中查的结果通过GridView显示出来,然后Gridv...
我做了两个页面,一个查询页面Search.aspx和一个显示详细信息的页面Detail.aspx,查询页面将从数据库中查的结果通过GridView显示出来,然后Gridview中有一列是超链,点超链就打开Detail.aspx页面(是新开一个窗口),就显示选中的那行的详细内容(例如原来GridView中只显示了文章标题和作者,标题是个超链,点标题就打开Detail.aspx,里面显示的内容还包括了文章内容和时间等。)请问如何将查询结果的值传给Detail页面?用Cookie不太现实,因为查询数据很多。而且传值具体传哪个值这个也是不确定的,看点的是哪行了。请问应该怎么解决这个问题??
展开
10个回答
展开全部
可以用Gridview 自己带的方法嘛!
点gridview 右上角的 GridView 任务;-编辑列-hyperlinkfield 那行属性就行了,那就是自带的超链接
然后你再设置它的属性 DataNavigateUrlFilelds : 主键名;
DataNavigateUrFormat; Deatil.aspx?主键名={0};
对了别忘了,在设置GridView 的datakeyNames 主键名: 就OK了,
最后在Details.aspx 页面 string id=Reuqest["主键名"].tostring ();
其他的你都会了吧,呵呵
点gridview 右上角的 GridView 任务;-编辑列-hyperlinkfield 那行属性就行了,那就是自带的超链接
然后你再设置它的属性 DataNavigateUrlFilelds : 主键名;
DataNavigateUrFormat; Deatil.aspx?主键名={0};
对了别忘了,在设置GridView 的datakeyNames 主键名: 就OK了,
最后在Details.aspx 页面 string id=Reuqest["主键名"].tostring ();
其他的你都会了吧,呵呵
追问
你的方法好像是比较好的,我想问下,我查询出来的结果有作者,标题,文章内容,时间这4项,其实他们都不算是主键,没办法唯一区分是哪一项,怎么办好?
追答
不用啊,直接用你用作者,标题,文章内容,时间,这张表里的主键就行了!他不是这里面的字段也行的
展开全部
常用为session,但要注意过期时间,最好15分钟左右伪提交一次页面
还有如果你用window.open()或是showModalDialog() 的话,可以直接在参数中传值,
还有就是写到xml文件里,这个比较好,
因为如果用户反复点击同一信息的话,就不用再查了,直接读出来即可。。。
还有如果你用window.open()或是showModalDialog() 的话,可以直接在参数中传值,
还有就是写到xml文件里,这个比较好,
因为如果用户反复点击同一信息的话,就不用再查了,直接读出来即可。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Search.aspx页面超链接
<a href="Detail.aspx?ID=<%Eval("ID")%>"></a>
Detail.aspx页面
接受值
if (Request.QueryString["ID"] != null)
{
int id = int.Parse(Request.QueryString["ID"].ToString());
//根据ID 再可以执行查询语句得出该行所有的数据
}
当然你也可以传的是ID值也可以传别的值
<a href="Detail.aspx?ID=<%Eval("ID")%>"></a>
Detail.aspx页面
接受值
if (Request.QueryString["ID"] != null)
{
int id = int.Parse(Request.QueryString["ID"].ToString());
//根据ID 再可以执行查询语句得出该行所有的数据
}
当然你也可以传的是ID值也可以传别的值
追问
Search中的超链在GridView中 ,标题那行是超链,现在代码是这样的:请问怎么改啊?">这好像是在html里面的语句吧!
追答
NavigateUrl='~/Detail.aspx?ID='
改成这样试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用Request.QueryString["id"]传值方式实现此功能
Search.aspx页面:通过参数传递,<a href="Detail.aspx?id=1"> 标题 </a>这个1就是你标题的id号
Detail.aspx页面:通过Request.QueryString["id"] 获取你的id号,这样就可以通过id查询出详细的内容了
Search.aspx页面:通过参数传递,<a href="Detail.aspx?id=1"> 标题 </a>这个1就是你标题的id号
Detail.aspx页面:通过Request.QueryString["id"] 获取你的id号,这样就可以通过id查询出详细的内容了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有差不多9种方法:
1.QueryString
2.使用Session变量
3.使用Server.Transfer
4.使用Application
5.使用Cache
6使用HttpContext的Item属性
7.使用文件
8.使用数据库
9.使用Cookie
能想到的就是这些。放心。不是在网上搜的资料 然后粘过来的。自己的心得。
1.QueryString
2.使用Session变量
3.使用Server.Transfer
4.使用Application
5.使用Cache
6使用HttpContext的Item属性
7.使用文件
8.使用数据库
9.使用Cookie
能想到的就是这些。放心。不是在网上搜的资料 然后粘过来的。自己的心得。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
传递该行的ID,在Detail.ASPX页面根据ID查询一下不就可以啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询