最近在用asp.net与sql server一起做数据库,目前刚好在做详情页,即某一个具体的页面。这个页面中有详细的活动资料。如下图
但是这只是id为8的数据对应的页面,我中间和右边的数据都用的是datalist,如下图。
我是通过datalist中的itemteplate来展示了右边的9条数据。
但是现在我为了做详情页需要通过querystring返回url网址的querystring,或者说返回网址上的具体id。
我想实现的效果是https://localhost:44376/detail.aspx?id=2 则展示id为2的数据的页面。页面中间的内容是连接数据库的数据,右边的内容也是连接数据库的数据。
但是现在遇到的问题是,当我使用datalist,并给datalist的selectcommand绑定值,绑定值的方式如图
其中ggame_id是通过request截取当前的querystring,获得对应id的活动。然后我将datasource3,即中间要显示的那片简介的selectcommand与我新增的绑定,然而当我以这种方式打开网页的时候发现中间的数据一点也没显示出来,如下图
然后我比较好奇的是没有显示出来的原因是什么呢?是因为Datasource3在后台没绑定吗?如果是的话要怎么绑定Datasource3呢?还是我的selectcommand语句写的有问题呢?
ps:网页的aspx文件中,datasource3我是这样写的,
并没有再加selectcommand=…… 这样写会有问题吗?希望能得到一个详细的回答!
分割线
我查阅了一些博客,发现Sqldatasource支持绑定参数,但是绑定的参数不能是动态形式的,例如我上面提到的selectcommand,
当写一个select语句的时候必须指定其内容,而不能根据字段的变化选择性的改变,故而想问这种方法怎么解决呢,我参考了这个博客:https://blog.csdn.net/powerboy/article/details/1873057
但是上述的方法都不能成功,我试着在cs文件中写了一个返回字符串的函数,但是运行网页后提醒我参数名没有在文本中出现,请问有什么更好的方法吗?