当前位置:编程学习 > C#/ASP.NET >>

Repeater绑定数据后,对每一行的部分列进行中文显示

就是说我数据已经绑定了,但是数据库是int类型,我想显示的时候针对int类型的数据显示为中文的。我把代码贴出,各位高手请你们赐教吧
 protected void Repjl_ItemDataBound(object source, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            //int id = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "id"));
            Label label1 = (Label)e.Item.FindControl("Label1");
            Label label2 = (Label)e.Item.FindControl("Label2");
            Label label3 = (Label)e.Item.FindControl("Label3");
            for (int j=0;j<dt.Rows.Count;j++)
            {
                //熱賣、福袋、裝備、功能、強化、時裝、坐騎、限時限量。
                if (dt.Rows[0]["type"].Equals(1))
                {
                    label1.Visible = true;
                    label2.Visible = false;
                    label3.Visible = false;
                    label1.Text = "福袋";
                    if (dt.Rows[0]["ishot"].Equals(1))
                    {
                        label2.Visible = true;
                        label3.Visible = true;
                        label2.Text = "|";
                        label3.Text = "熱賣";
                    }
                    else if ((dt.Rows[0]["count"].Equals(-1)==false)||(dt.Rows[0]["downtime"].Equals(DateTime.Parse("1970-01-01 0:00:00"))==false))
                    {
                        label1.Text = "限時限量";
                        label2.Visible = false;
                        label3.Visible = false;
                    }
                    else
                    {
                        label1.Text = "福袋";
                        label2.Visible = false;
                        label3.Visible = false;
                    }
                }

下边这个是绑定字段的部分代码:放了是哪个label根据判断条件决定显示哪个
<td height="18" bgcolor="#FFFFFF"><div align="center" class="STYLE2 STYLE1">
                    <asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "type") %>'></asp:Label><asp:Label
                        ID="Label2" runat="server" Text="|"></asp:Label><asp:Label ID="Label3" runat="server"
                            Text='<%#DataBinder.Eval(Container.DataItem, "ishot") %>'></asp:Label></div></td>
--------------------编程问答-------------------- 现在的效果是如果第一行显示的中文为一的话,后边的行都是一,实际上不是的 --------------------编程问答-------------------- dt.Rows[j] --------------------编程问答-------------------- 循环里面的 dt.Rows[0]  改成dt.Rows[j] --------------------编程问答-------------------- 已经改了,断点跟踪的时候,能够看到显示的是不同的,可是到了页面完成的时候就都一样了,实在是搞不懂了
现在把改过以后的代码贴出
protected void Repjl_ItemDataBound(object source, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            //int id = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "id"));
            Label label1 = (Label)e.Item.FindControl("Label1");
            Label label2 = (Label)e.Item.FindControl("Label2");
            Label label3 = (Label)e.Item.FindControl("Label3");
            for (int j = 0; j<dt.Rows.Count;j++)
            {
                int type = Convert.ToInt32(dt.Rows[j]["type"]);
                int ishot = Convert.ToInt32(dt.Rows[j]["ishot"]);
                int count = Convert.ToInt32(dt.Rows[j]["count"]);
                DateTime time0 =DateTime.Parse(dt.Rows[j]["downtime"].ToString());
                //熱賣、福袋、裝備、功能、強化、時裝、坐騎、限時限量。
                if (type == 1)
                {
                    label1.Visible = true;
                    label2.Visible = false;
                    label3.Visible = false;
                    label1.Text = "福袋";
                    if (ishot==1)
                    {
                        label2.Visible = true;
                        label3.Visible = true;
                        label2.Text = "|";
                        label3.Text = "熱賣";
                    }
                    else if ((count > -1) || (time0!=DateTime.Parse("1970-01-01 0:00:00")))
                    {
                        label1.Text = "限時限量";
                        label2.Visible = false;
                        label3.Visible = false;
                    }
                    else
                    {
                        label1.Text = "福袋";
                        label2.Visible = false;
                        label3.Visible = false;
                    }
                }
--------------------编程问答-------------------- 大神们帮帮忙啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,