簡體   English   中英

如何從后面的代碼中調用JavaScript以實現Repeater控制

[英]How to call javascript from code behind for Repeater control

有一個span元素需要從Repeater控件動態加載數據。 我遇到的問題是只有第一個span元素才能顯示該值。 隨后將顯示空白。

我簡化了下面的代碼。

    private int incre = 0;
    protected void Page_Load(object sender, EventArgs e)
    {


        foreach (RepeaterItem ritem in FeaturedRepeater.Items)
        {

            HtmlGenericControl span = ritem.FindControl("countdown") as HtmlGenericControl;
            span.Load += new EventHandler(test);
        }

    }
    protected void test(object sender, EventArgs e)
    {

        HtmlGenericControl span = (HtmlGenericControl)sender;
        Page.ClientScript.RegisterStartupScript(this.GetType(), "CallMyFunction", "timer(" + incre + ")", true);
        incre++;
    }

.aspx文件示例中的Javascript函數如下:

    function timer(increment, timespan) {
       var id = 'ContentPlaceHolder1_FeaturedRepeater_countdown_' + increment;
       document.getElementById(id).innerHTML = id;   
    }

HTML部分:

    <asp:Repeater runat="server" ID="FeaturedRepeater"       OnItemDataBound="FeaturedRepeater_ItemDataBound">
            <ItemTemplate>
                <span id='countdown' runat="server"></span>
            </ItemTemplate>
    </asp:Repeater>
Page.ClientScript.RegisterStartupScript(this.GetType(), string.Format("CallMyFunction{0}", incre), "timer(" + incre + ");", true);

您最多只能注冊一次相同的密鑰。 這就是將"CallMyFunction"更改為string.Format("CallMyFunction{0}", incre)

順便說一句

; 在每個javascript函數調用之后。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM