我把五个表里面的数据查出来了,,在首页的一个文本框里面显示标题,,,标题是一个链接,,,点击跳到下载页面。。。然后在下载页面有详细内容,,,,怎么传值过去???我只知道传一个表的值过去?
<a href="Donwload.aspx?id=<%#Eval("C_ResourceID")%>" target="_blank">
<%#(DataBinder.Eval(Container.DataItem,"C_Title").ToString().Length > 22) ? Convert.ToString(DataBinder.Eval(Container.DataItem, "C_Title ")).Substring(0, 22) + "... " : DataBinder.Eval(Container.DataItem, "C_Title ").ToString()%> <asp:Label ID="Label1" runat="server" text-align:right Text='<%#DateTime.Parse(Eval("C_DateTime").ToString()).ToString("yyyy-MM-dd")%>'>
这个是首页绑定的代码。。。。。。。。。。要是想传五个表的数据过去??怎么写?
你可以直接form表单传值 这样的话不会又什么URL的长度限制 再大也没关系
<form id="form1" runat="server" action="目标页面">
<数据服务器控件>
<a href="Donwload.aspx?id=<%#Eval("C_ResourceID")%>" target="_blank">
<%#(DataBinder.Eval(Container.DataItem,"C_Title").ToString().Length > 22) ? Convert.ToString(DataBinder.Eval(Container.DataItem, "C_Title ")).Substring(0, 22) + "... " : DataBinder.Eval(Container.DataItem, "C_Title ").ToString()%> <asp:Label ID="Label1" runat="server" text-align:right Text='<%#DateTime.Parse(Eval("C_DateTime").ToString()).ToString("yyyy-MM-dd")%>'>
</数据服务器控件>
</form>
你可以试试 然后在目标也获取传过去的参数 request.form["名字"];
五个表的数据?什么意思? URL传递参数的长度是有限制的 还是说 你想要的结果是 Donwload.aspx?id=<%#Eval("C_ResourceID")%>&Title=<%#Eval("C_Title")%>"
用“&”可以分开传递的URL的
上面那个示例中 你可以取到 Request.QueryString["id"] 和Request.QueryString["Title"] 如果你是要取到5个传递的参数的话 用上面那个示例就可以了
诚如楼上所说,url传参是有长度限制的,中文会乱码,且不安全。
换个思路
你说你查了5张表的数据(如果这些数据不必要在首页显示是不用查询出来的),
你可以将查询这5张表数据的依据(一般就是一些主键值什么的)通过url传到下载页面。
在下载页面根据传过来的这些依据来进行查询。
你可以传个Type过去啊,1代表试卷,2代表课件。。。。。在Donwload.aspx 页面 用Request.QueryString["Type"]接到后,依据type和ID再查询一次啊
你是想点击跳到下载页面,不是传一个资源id就行了?然后下载。
你可以传个Type过去啊,1代表试卷,2代表课件。。。。。在Donwload.aspx 页面 用Request.QueryString["Type"]接到后,依据type和ID再查询一次啊,
这个方法应该可以的啊,楼主试试看