最近项目里用到了很多超链接来传参数,且不说这样做的安全性能和效率怎样,我反正用的乐此不疲。
先说<a>标签,我需要在A页面中单击它,然后跳转到B页面以显示我要查询的信息,B页面接收传来的参数,再进行数据处理显示我要看到的信息。在<a>标签里,我要传递三个参数:strUrl,strCode,strId
方法如下,用 & 连接各个参数:
1 <a href="B页面.aspx?strUrl=<%#Eval("phdPhotoURL") %>&strCode=<%#Eval("phdPhotoID") %>&strId=<%# Eval("phdCheckResultID") %>" target="_blank">查看照片</a>
B页面的接收方式为:
1 string strUrl = Request.QueryString["strUrl"]; 2 3 string strCode = Request.QueryString["strCode"];
然后就是LinkButton控件了,它通过CommandArgument来传递参数,网友们大部分都是通过把n个参数作为一个字符串来传递,然后再在接收端分割。
比如我们需要传递三个参数到后台:
1 <asp:LinkButton ID="lbtnUpload" runat="server" CommandArgument='<%#Eval("pcrID")+","+Eval("phdPhotoID")+","+Eval("phdPhotoURL")+","+Eval("phdisupload") %>' οnclick="lbtnUpload_Click">重新上传</asp:LinkButton>
后台的接收端要用一个数组来接收分割而成的参数值。
1 //接收传过来的参数 2 LinkButton lb = (LinkButton)sender; 3 //将获取到的字符串用“,”分割,存在一个数组里,分别读取数组元素 4 string[] strParam = lb.CommandArgument.ToString().Split(','); 5 string strId = strParam[0]; 6 string strPhotoId = strParam[1]; 7 string strUrl = strParam[2]; 8 string strIsUpload = strParam[3];
就这样,页面之间和页面与后台之间传递多个参数就轻松完成了。当然还有其他方法传参,后期会慢慢总结并应用,敬请期待。