对DataList模板中的绑定数据进行再加工

问题是:我用<%# Eval("star")%>成功绑定数据star的数据(star在数据库中是int类型),这时我想重复取出star的数值(1~star),

比如说现在star是5,那么我就是要取出<%# Eval("star")%>中从1~到5的数,下面该怎么做?

【方法1】嵌套javascript:

 <script type="text/javascript">
        var strInt = <%# Eval("star") %>;
         for(var i=0;i<5;i++)
          {
             if(i<strInt)
              {
                  document.write("★");
              }
             else
             {
                 document.write("☆");
             }
                                                                    
          }
</script>

  

有没有比这个更好的办法呢?答案是肯定的,注意下面的这段代码:

 

【方法2】编写方法:

这是嵌套在.aspx文件中的

<%# FormatStar(Eval("star")) %>

  

这是嵌套在.aspx.cs文件中的

 public string FormatStar(Object star1)
        {
            var st="";
            var star = Convert.ToInt16(star1);
            for (var i = 0; i < 5; i++)
            {
                if (i < star)
                {
                   st+="★";
                }
                else
                {
                   st+="☆";
                }
            }
            return st;
        }

观察两段代码的优越,选择你希望的!

 

posted @ 2012-04-06 19:15  Seaurl  阅读(209)  评论(0编辑  收藏  举报