日期:2014-05-17  浏览次数:20578 次

repeater 控件中写js为啥会执行两遍?
本帖最后由 srszzw 于 2013-10-02 17:43:10 编辑
我在repeater控件中的ItemTemplate中写的js函数,在呈现页面时会执行两遍,双倍的执行次数,这是为何呢?
控件 js 执行两遍

------解决方案--------------------
好吧,我觉得这个很奇怪,repeater你可以简单的认为就是一个循环,你是把alert放在itemtemplate里面的,因此循环的次数跟itemtemplate的item数目有关。
比如前台有个:
 <div>
            <asp:Repeater ID="Repeater1" runat="server">
                <ItemTemplate>
                    <script>alert('随便响应一下')</script>
                </ItemTemplate>
            </asp:Repeater>
        </div>

后台代码:
 protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                DataTable dt = new DataTable();
                dt.Columns.Add("ctime", typeof(DateTime));

                dt.Rows.Add(DateTime.Now);
                dt.Rows.Add(DateTime.Now);
                dt.Rows.Add(DateTime.Now);

                this.Repeater1.DataSource = dt;
                this.Repeater1.DataBind();
            }
        }

由于添加了3行,所以前台页面alert3次。这是亲测的结果。