<asp:Repeater ID="reptypezs1" runat="server">
                            <ItemTemplate>
                                <li><a href='liebiao.aspx?pid=00&name=<%#Eval("pro_typenum")%>'>
                                    <%#Eval("pro_typenum")%></a></li>
                            </ItemTemplate>
                        </asp:Repeater>其中的name我不想用<%#Eval("pro_typenum")%>,而是根据<%#Eval("pro_typenum")%>这个来生成一个数字,比如<%#Eval("pro_typenum")%>是Apple,就是name=0,是三星,name=1.。。这个是什么思路呢?

解决方案 »

  1.   

    <%#Eval("pro_typenum").ToString()=="0"?"三星":"其它"%>或者<%# getTypeName(Eval("pro_typenum").ToString())%>.cspublic string getTypeName(string typenum)
    {
       if(typenum=="1")
       {
          return "三星";
        }  return "其它";
    }
      

  2.   

    自己写个方法绑定上去就好了
    public string GetBrand(object typenum)
    {
       swtich(typenum as string)
       {
          case "Apple" : return "0";
          case "三星" : return "1";
          default: ...
       }
    } <%# GetBrand(Eval("pro_typenum"))%></a></li> 
      

  3.   

    首先不谈你这个实现,页面还是应该显示Apple、三星等。用户那看的懂你的0、1、2代表什么。
      

  4.   

    如果枚举项只有2个,可以用三元运算符处理,但是一旦很多你怎么搞,套很多层吗?所以建议写个共用方法,专门来处理,然后前台html用耦合标签<% ...%>调用你那个公用方法就可以了,如1楼说的方法二