在GridView中
<asp:GridView runat="server" AutoGenerateColumns="False" >
<Columns>
/*此处省略绑定的模板列*/
<asp:HyperLinkField Text="查看" DataNavigateUrlFormatString="Demo.aspx?HSubjectID={0}&HPID={1}&HSName={2}" DataNavigateUrlFields="HallSubjectID,HPostId,HSubName">
</asp:HyperLinkField>
</Columns>
</asp:GridView>
现在传递值是通过<asp:HyperLinkField /> 的 Demo.aspx?HSubjectID={0}&HPID={1}&HSName={2}" 这种方式来传递的,有没有其他好的传值方法呢?因为这个方法,如果值长度很大就会有问题。
试一下几个值一块传,传一个参数,然后Demo.aspx?key={0_1_2},然后获取key以后,再用Split("_")分割开来。
实在不行的话,这个方法倒可以一试。不过我采用了前面一位朋友说的,传一个关键ID过去,然后再通过这个ID查询数据库获取这个对象。谢谢了,朋友。
@Technology: 没事儿的,之前我用的大部分就是上面那人说的方法,不过他既然已经说过了,我就提供另外一种思路啦,嘿嘿。
ajax 传
$.ajax({
type: "POST",
url: "Demo.aspx",
dataType: "html",
data:{xx:x, yy:y}, //要传的值
cache: false,
success: function (data) {
}
});
如果楼主一定要使用Grid 来展示数据的话,那么 Demo.aspx?HSubjectID={0} 能否只传递一个ID,其他的值通过这个ID在demo这个页面处理。
这位朋友说的有理,前面是我没有仔细分析好。现在我就是通过朋友说的这种方式,传一个ID过去,只是在那个页面将ID再查询一次,返回这个对象。最后获取这个对象的相关信息。谢谢!
可以通过Session来传值