asp.net跨页传递控件绑定参数的方式

    前两天因为工作需要使用了VS2005编写了一个网站,在很多页都弄好后发现利用数据库控件GirldView绑定SqlDataSource控件来编写确实能够提高编写效率同时也省了很多麻烦。但是因为是刚刚开始使用VS2005所以还不是很适应,在一切基本整理好之后却发现原本已经显示绑定成功的一些数据却无法进行跨页链接传递参数!本想用自定义模板形式添加一个LinkButton的控件然后在里边的PostBackUrl属性来附带一个有参数的超链接比如说NewsPage.aspx?newsId=<%# Eval("id") %>结果却发现这这样做根本达不到传递参数的目的,后来经过学习才发现原来这个属性的值必须符合URL的规范也就是说其中的一些特殊字符比如说“%^&*”等都是用%来替代的而%正好有是页面编码和标签的唯一区别符号,这样造成的后果就是在测试代码的时候根本传递不了准确的数据。其实这个情况解决办法很简单,就是直接在GirldView中将原有的绑定的列删除然后点击上边的小箭头在弹出的对话框中选择“添加新列”,在弹出的对话框中的“选择字段类型”下拉菜单中选择“HyperLinkField”选项,这时就会发现底下的菜单内容也跟着改变了!在“超链接文本”中可以自定义文本但是我用到的是“从数据字段获取文本”这样就可以将绑定的数据字段作为文本显示,然后就是最重要的参数了在“超链接URL”中就要选择手动填写网址并添加参数了比如要连接到NewsPage.aspx页则首先要在“从数据字段获取URL”中选择要作为参数的数据然后在“URL格式字符串”中将其写成“NewsPage.aspx?newsId={0}”这样就可以了!那么怎样接受参数呢!首先要在NewsPage.aspx页中拖入一个SqlDataSource控件,然后配置数据比如说这个例子中需要根据id查找表中其他的字段,则要在“配置select”这个选择对话框中点击“where”按钮,在弹出的对话框的“列”选框中选择“id”字段然后默认操作符还是“=”下边的“源”选框选择QueryString选项,然后在右边填写上相应的参数名称我这里是“newsId”然后点击下边的“添加”按钮这样就添加进了一个带参数的Select语句,点击确定然后用控件绑定数据后就可以实现超链接的跨页传递参数问题了!整个过程没有编写一行代码!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值