webform中Repeater的Command用法、Repeater的替代方法

Command:

  在Repeater控件循环执行过程中,可以给每一项的某个按钮或其他控件设置CommandName、CommandArgument属性,用于在后台代码中获取单项

  数据进行调用。

    需要注册Repeater的ItemCommand事件

  调用时,通过e.CommandName e.CommandArgument即可调用每一项中存入的值

Repeater的替代:

  通过Reperter,我们可以很方便的在页面上展示多项数据,它不仅可以用于创建表格,循环创建DIV标签等都是可以的,需要灵活运用

  那么如果不用Repeater控件,可以在后台插入代码的方法来实现功能

  在界面上放一个Literal1控件:

 

public string DataBind()
    {
        string end = "";

        List<gouwu> glist = new gouwuData().Select();

        foreach (gouwu g in glist)
        {
            if (g.name == "猕猴桃")
            {
                continue;
            }

            end += "<div class=\"item\">";
            end += "<img src=\"" + g.pic + "\" />";
            end += " <div class=\"item-name\">" + g.name + "</div>";
            end += "<div class=\"item-price\">价格:" + g.nowPrice + "<span>" + g.oldPrice + "</span></div>";
            end += "<div class=\"item-context\">" + g.context + "</div>";
            end += "<a href=\"Delete.aspx?id=" + g.ids + "\">删除</a>";
            end += "</div>";
        }
        return end;
    }

 

  然后在后台页面加载时,调用以上方法并绑定到Literal控件的Text上,这样做的好处是如果某些内容需要权限才可以显示,可以比较安全的直接不输出那

一部分代码,但如果用Repeater通过修改Display来隐藏的话,这些内容仍然存在于代码中,影响安全性。

 

posted @ 2017-01-08 14:22  苏迁时  阅读(187)  评论(0编辑  收藏  举报