阿涛(252759102) 22:49:54
问下
<ItemTemplate>
                       
                        <%
                            int n = (int)Eval("dealstate");
                            
                            switch (n)
                            {
                                case 1: string str="新申请订单";
                                    break;
                                case 2: string str="正在处理中";
                                    break;
                                case 3: string str="订单处理完毕";
                                    break;
                            }   
                             %>
                              <asp:Label ID="Label1" runat="server" Text='<%# str %>'></asp:Label>
                    </ItemTemplate>
阿涛(252759102) 22:50:36
这样得不到我要的效果不知道这样的写法有什么错误?
 这是一个gridview里的一个模板列,,, 存在数据库里的是1。2。3   但是显示在gridview列里的数据要相应的变化为我写的程序里的那三个。 不知道怎么写了该
没思路了 。 帮忙

解决方案 »

  1.   

    在后台可以写个方法,定义一个 Public string 的函数
    然后在里面转换
      

  2.   

    你这个写法根本是ASP的写法...
      

  3.   

    思路应该是gridview里你那模版列绑定你数据库里的那一列,就是你的1,2,3
    然后在后台写你的代码,当模版里的label为1的时候,显示"新申请订单",2的时候显示"正在处理中",3的时候显示"订单处理完毕".
      

  4.   

    //aspx
    <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# GetText(Convert.ToInt32(Eval("CategoryID"))) %>'></asp:Label>
    </ItemTemplate>//aspx.cs
    protected string GetText(int n)
    {
        switch (n)
        {
            case 1: 
                return "新申请订单";
            case 2: 
                return "正在处理中";
            case 3: 
                return "订单处理完毕";
        }
        return string.Empty;
    }