我有一个DataList控件,在<ItemTemplate>中我放置了2个ImageButton按钮!我想根据不同的权限显示不同的按钮,但我在显示的时候会报:
System.NullReferenceException: 未将对象引用设置到对象的实例。==============================前台页面代码如下:
<asp:datalist id="FuncList" runat="server" OnItemDataBound="FuncList_OnItemDataBound" DataKeyField="BKID">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:ImageButton id="ImageButton1" runat="server" imggeUrl="edit.gif" CommandName="edit" ></asp:ImageButton>
<asp:ImageButton id="ImageButton2" runat="server" imggeUrl="del.gif" CommandName="del" ></asp:ImageButton>
</td>
</tr>
<ItemTemplate>
<FooterTemplate>
</table>
<FooterTemplate>
</asp:datalist>=======================
后台中的FuncList_OnItemDataBound中的代码如下:public void FuncList_OnItemDataBound(Object sender, DataListItemEventArgs e)
{
qxID = 1;//设置权限ID为1,当为0 的时候按钮的Visible 属性为 false.
ImageButton imgE = new ImageButton();
if(qxID=0)
{ imgE = (ImageButton)e.Item.FindControl("ImageButton1");
imgE.Visible = false;
}
else
{
imgE = (ImageButton)e.Item.FindControl("ImageButton1");
imgE.Visible = true;
}
}请各位大侠帮忙解答!!
System.NullReferenceException: 未将对象引用设置到对象的实例。==============================前台页面代码如下:
<asp:datalist id="FuncList" runat="server" OnItemDataBound="FuncList_OnItemDataBound" DataKeyField="BKID">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:ImageButton id="ImageButton1" runat="server" imggeUrl="edit.gif" CommandName="edit" ></asp:ImageButton>
<asp:ImageButton id="ImageButton2" runat="server" imggeUrl="del.gif" CommandName="del" ></asp:ImageButton>
</td>
</tr>
<ItemTemplate>
<FooterTemplate>
</table>
<FooterTemplate>
</asp:datalist>=======================
后台中的FuncList_OnItemDataBound中的代码如下:public void FuncList_OnItemDataBound(Object sender, DataListItemEventArgs e)
{
qxID = 1;//设置权限ID为1,当为0 的时候按钮的Visible 属性为 false.
ImageButton imgE = new ImageButton();
if(qxID=0)
{ imgE = (ImageButton)e.Item.FindControl("ImageButton1");
imgE.Visible = false;
}
else
{
imgE = (ImageButton)e.Item.FindControl("ImageButton1");
imgE.Visible = true;
}
}请各位大侠帮忙解答!!
解决方案 »
- 有关生成解决方案的问题
- xsl中可不可以只替换部分数据?
- [玻璃鱼V]看别人的源码再次有些疑问
- 未将对象引用设置到对象的实例
- 我有一个邦定好的CheckBoxList控件如何提交获取所有的选定向的邦定的DataValueField值[我先感谢各位高手了]
- 新站点请兄弟们看看,多提点意见(http://www.duxiu.com http://mylib.duxiu.com)
- 对DataTable里的内容进行统计?
- 如何用在ASP。NET中,(好C#),创建动态链接
- 請問命名空間在那裏編寫?(在綫)
- DATAGRID中的被修改列中如何绑定数据记录?
- 高分求助:windows 2003 系统发送邮件时发送失败
- datalist 超链 对应ID的详细页
{
if( e.Item.ItemType != ListItemType.Header&& e.Item.ItemType !=ListItemType.Footer)
{
加你的代码,
}
}
加个判断就可以了
DataList中有2个按钮,编辑 和 删除 ,当用户不具有删除权限是,也就是qxID<4时,将删除按钮隐藏,当用户的权限小于3时即qxID<3,那么该用户只具有浏览的权限,此时需要将编辑 和 删除 两个按钮隐藏!
那么我的判断代码如下: ImageButton imgEDIT = new ImageButton();
ImageButton imgDEL = new ImageButton();
if(qxID<4)
{ imgDEL = (ImageButton)e.Item.FindControl("ImageButton1");
imgDEL.Visible = false;
}
else if(qxID<3)
{
imgDEL = (ImageButton)e.Item.FindControl("ImageButton1");
imgDEL.Visible = false;
imgEDIT = (ImageButton)e.Item.FindControl("ImageButton2");
imgEDIT.Visible = true;
} 我在跟踪代码的过程中发现:每当程序执行到 imgDEL.Visible = false; 时就报 System.NullReferenceException: 未将对象引用设置到对象的实例。
这样的错误!!
然后在html中加入visible='<%# qxID %>'<asp:ImageButton id="ImageButton1" runat="server" imggeUrl="edit.gif" CommandName="edit" visible='<%# qxID %>' ></asp:ImageButton>
{
if (dgItem.ItemType == ListItemType.Item || dgItem.ItemType == ListItemType.AlternatingItem)
{
ImageButton imgE = new ImageButton();
if (qxID=0)
{
imgE = (ImageButton)e.Item.FindControl("ImageButton1");
imgE.Visible = false; }
else
{
imgE = (ImageButton)e.Item.FindControl("ImageButton1");
imgE.Visible = true;
}
}
}这样试一下看可以么?
你跟蹤近來看看這個到底是什麽類型。