GridView怎样使用transfer 传值

写项目的时候,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? 求解

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


一只萌萌小番薯
浏览 319回答 2
2回答

蓝山帝景

transfer是发送控件方式,根据你的要求,传到另一个页面那怎么去获取gridview的值呢?这是一个问题点,会很不方便,你传个text还好了,gridview太大了安全是相对概念,你传递值如果需要保密,可以用session

精慕HU

其实你可以尝试将url的参数进行加密,然后再接受的page再进行解密.这不是一种更巧妙的解决办法. 另:记得原来可以通过this.PreviousPage来得到上一页面的对象实例的,如果这样的话,就可以按照楼的思路拿值了,但刚试了一下this.PreviousPage老为空,奇怪!
打开App,查看更多内容
随时随地看视频慕课网APP