首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

GetUsersMSGDataGrid_ItemDataBound方法执行有关问题,没有显示想要的文本

2012-05-29 
GetUsersMSGDataGrid_ItemDataBound方法执行问题,没有显示想要的文本新手!在datagrid中有用户权限列(模板

GetUsersMSGDataGrid_ItemDataBound方法执行问题,没有显示想要的文本
新手!
在datagrid中有用户权限列(模板列),值为0,1,想让其显示为普通用户和管理员。
定义了如下方法:

C# code
private void GetUsersMSGDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)        {            //string tmp = e.Item.Cells[5].Text;                        for(int i=0;i<GetUsersMSGDataGrid.Items.Count;i++)             {                 string tmp = GetUsersMSGDataGrid.Items[i].Cells[5].Text;                if(GetUsersMSGDataGrid.Items[i].Cells[5].Text=="0")                    GetUsersMSGDataGrid.Items[i].Cells[5].Text = "普通用户";                else                    GetUsersMSGDataGrid.Items[i].Cells[5].Text = "管理员";                 }         }

结果:全都变成了管理员。
设断点看了下:
tmp=“权限”————————————————页眉
tmp=null——————————————————以下都是“null”
显示也就都成了管理员。
注释掉GetUsersMSGDataGrid_ItemDataBound方法,0,1值和数据库中一致。
前台部分:
HTML code
<asp:TemplateColumn HeaderText="权限">                                                                    <ItemTemplate>                                                                        <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.UserType")%>'>                                                                        </asp:Label>                                                                    </ItemTemplate>                                                                    <EditItemTemplate>                                                                        <asp:DropDownList runat="server" SelectedIndex='<%# GetUserTypeIndex(DataBinder.Eval(Container.DataItem, "usertype").ToString()) %>' id="edit_usertype">                                                                            <asp:ListItem Value="0">普通用户</asp:ListItem>                                                                            <asp:ListItem Value="1">管理员</asp:ListItem>                                                                        </asp:DropDownList>                                                                    </EditItemTemplate>

为什么是null?
问题出在哪了?各位先贤烦请解惑,拜谢!

[解决办法]
C#是区分大小写的哦。
还有就是直接在eval里可直接判断<%# IIf(Eval("UserType").ToString() = "0", "普通用户", "管理员")%>
未经测试,凭印象。:)

热点排行