请高手请教一个DataGrid的问题!(高分)

bin_bin 2003-08-04 03:21:23
我把一个按扭放在了DataGrid的摸版列里,想要通过代码来控制按扭的显示。
代码如下:
aspx文件里:
<ItemTemplate>
<asp:Button id="BtnDelete" CommandName="DeleteComment" OnClick="DataGrid_DeleteRow" runat="server" Text="删除该评论"></asp:Button>
</ItemTemplate>
在后台代码里:
Public Sub DataGrid_ItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs) Handles DgComment.ItemDataBound
If IsManageComment(Session("AuthorityURL"), Session("ArticleID")) Then
CType(e.Item.Cells(0).FindControl("BtnDelete"), Button).Visible = True
Else
CType(e.Item.Cells(0).FindControl("BtnDelete"), Button).Visible = False <-- 出错位置
End If
End Sub

出错提示:未将对象引用设置到对象的实例。
请高手指教!!
...全文
43 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoulichi 2003-08-04
  • 打赏
  • 举报
回复
我的方法是可以的!
chnking 2003-08-04
  • 打赏
  • 举报
回复
每次绑定时都要判断Item是数据行(一般的行,交替行,编辑行
)才进行相关的操作,别的行(分页的行,头行等等是没有删除按钮的):

Public Sub DataGrid_ItemDataBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs) Handles DgComment.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Or e.Item.ItemType = ListItemType.EditItem Then
If IsManageComment(Session("AuthorityURL"), Session("ArticleID")) Then
CType(e.Item.Cells(0).FindControl("BtnDelete"), Button).Visible = True
Else
CType(e.Item.Cells(0).FindControl("BtnDelete"), Button).Visible = False
End If
End If
End Sub
bin_bin 2003-08-04
  • 打赏
  • 举报
回复
还是老样子,mybutton为nothing
看样子是没找到,但我确实有这个按扭的啊,在第一列,名字为BtnDelete
出错提示:未将对象引用设置到对象的实例。
fly_miss 2003-08-04
  • 打赏
  • 举报
回复
dim mybutton as button

mybutton=CType(e.Item.Cells(0).FindControl("BtnDelete")

If IsManageComment(Session("AuthorityURL"), Session("ArticleID")) Then
mybutton.Visible = True
Else
mybutton.Visible = false
End If
End Sub
fly_miss 2003-08-04
  • 打赏
  • 举报
回复
dim mybutton as button

mybutton= CType(e.Item.Cells(0).FindControl("BtnDelete"), Button)
If IsManageComment(Session("AuthorityURL"), Session("ArticleID")) Then
mybutton.Visible = True
Else
mybutton.Visible = False
End If
bin_bin 2003-08-04
  • 打赏
  • 举报
回复
在第一列,应该是对的吧
newchar 2003-08-04
  • 打赏
  • 举报
回复
引用
e.Item.Cells(0).FindControl("BtnDelete"),


按钮位置对不对?是在第几列?

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧