注册 登录
编程论坛 ASP.NET技术论坛

Datalist里关于按钮隐藏问题

青格儿 发布于 2008-05-31 21:13, 2741 次点击
datalist里有很多产品的信息(A类产品,B类产品,C类产品等)还有一列按钮,点击相应行的按钮可以修改产品信息的内容。

由于产品有信息有个发布时间,发布后就不可修改,但它们每种产品的发布时间又不同,于是这列按钮中就有的显示(未审核时,可以修改),有的不显示(审核过了,已发布了).也就是怎么隐藏特定项的按钮的显示与不显示 ?

比如我想让"B类产品"中ID为"3"的产品所在行的按钮隐藏,该怎么做呢?
Button button=(Button)(DataList1.Items[0].FindControl("Button1"));
button.Visible=false;
这个是可以隐藏,但是它隐藏的第一行的按钮。

我想让B产品中ID为3的产品所在行的按钮隐藏,那么这个DataList1.Items[0].FindControl("Button1")中Items[i]怎么确定呢?
8 回复
#2
青格儿2008-06-02 09:50
呵呵,是不是太长了,没人愿看啊?那么,简单来说,就像百度知道里那样,你回答过的问题,可以修改你自己的答案。而其它人的答案你没法修改(因为那个修改按钮没显示出来)

这个不就是:先把该题的所有答案都列出来,然后根据用户的身份显示各答案里的修改按钮
#3
hebingbing2008-06-02 11:58
Items[0]的话是你指定要改变第一行的按钮,你要是想做你说的那个功能就要用e,不能自己直接写数字。datalist的主键设置成id,然后通过e将该行的id获取过来,然后判断id是不是3如果是则FindControl("Button1"),然后再Visible设置false……
#4
青格儿2008-06-04 08:45
谢谢版主的提醒,是通过e和datakeys实现的。

另:再问下,datalist无刷新分页怎么做啊?(如果存储过程呢?)我页面是有接收值,一分页,点第二页或其它页时,页面总重载,一重载收不到接收值了。(又不能用session,因为它上一页传来的值是绑定的数据库)
#5
gupiao1752008-06-04 15:48
[bo][un]青格儿[/un] 在 2008-6-4 08:45 的发言:[/bo]

谢谢版主的提醒,是通过e和datakeys实现的。

另:再问下,datalist无刷新分页怎么做啊?(如果存储过程呢?)我页面是有接收值,一分页,点第二页或其它页时,页面总重载,一重载收不到接收值了。(又不能用session, ...


以上红色的E和DATAKEYS是什么东西啊??
我是。NET方面的新手,谢谢!
#6
hebingbing2008-06-04 18:41
回复 4# 青格儿 的帖子
存储过程和无刷新分页是没有关系的,用存储过程的目的是这样的:当你每次翻页的时候内存中就加载所有的数据,这样就要消耗很多的内存和时间,所以就用存储过程来分批读取数据(只是将要显示到当前页面的数据加载)来优化性能,至于无刷新分页嘛,可以用ajax来实现
#7
hebingbing2008-06-04 18:42
回复 5# gupiao175 的帖子
e是你的事件中传递的第二个参数
datakeys是datalist设置的主键
#8
青格儿2008-06-04 20:37
用Ajax怎么做啊?
我是用的Ajax做的Tab选项卡上每个Tab下都有个datalist
我给它们都分了页,但是Tab切换时不刷新,但是分页有刷新啊,怎么做才能分页不刷新呢?
#9
青格儿2008-06-10 13:18
无刷新分页怎么做啊?说下思路也行啊,要是用Ajax实现,那用Ajax怎么做?
1