首页 新闻 会员 周边

GridView怎样使用transfer 传值

0
悬赏园豆:50 [已关闭问题]

写项目的时候,boss说用三层架构

于是乎GridView 的数据源就来自DataTable 

之后就要加“修改”,“删除”,“查看”(在另外的页面执行相应操作)

ok,咱弄了几个HyperLinkField

HyperLinkField hlf = new HyperLinkField();

hlf.DataNavigateUrlFields = new string[] { "XianP_ID" };
hlf.DataNavigateUrlFormatString = "XianPGL_SHOW.aspx?XianP_ID={0}";  

gridview.Columns.Add(hlf);  

ok,大家看到了,很丑陋,使用的QueryString 进行传值,值暴露在URL  上,很不安全

想如果用Tranfer 的话自然就不会暴露,但是HyperLinkField 好像不支持?

求博客园达人解,

另外,如果是我这样的话,就会有三个Columns ,不知道怎样将其合并成一个column? 求解

先谢谢各位了,期待您的解答

 

Atpking的主页 Atpking | 初学一级 | 园豆:150
提问于:2008-09-27 11:53
< >
分享
其他回答(2)
0

transfer是发送控件方式,根据你的要求,传到另一个页面那怎么去获取gridview的值呢?这是一个问题点,会很不方便,你传个text还好了,gridview太大了

安全是相对概念,你传递值如果需要保密,可以用session

zjy | 园豆:3194 (老鸟四级) | 2008-09-27 14:17
0

其实你可以尝试将url的参数进行加密,然后再接受的page再进行解密.这不是一种更巧妙的解决办法.

 另:记得原来可以通过this.PreviousPage来得到上一页面的对象实例的,如果这样的话,就可以按照楼的思路拿值了,但刚试了一下this.PreviousPage老为空,奇怪!

加冰的可乐 | 园豆:410 (菜鸟二级) | 2008-09-27 14:34
0

三个Columns合并成一个Columns的话使用模板列就可以了。安全考虑的话,可以对QueryString进行加解密。

天堂口 | 园豆:514 (小虾三级) | 2008-10-02 11:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册