Событие onClick LinkButton в повторителе в панели обновления - PullRequest
0 голосов
/ 27 октября 2018

Я могу использовать событие Click в репитере, ретранслятор находится в панели обновления.Я использую div в качестве триггера, пытающегося нажать LinkButton.

protected void rpt_product_ItemCreated(object sender, RepeaterItemEventArgs e)
{
    HtmlGenericControl div_product = (HtmlGenericControl)e.Item.FindControl("div_product");
    LinkButton lnk_product = (LinkButton)e.Item.FindControl("lnk_product");
    lnk_product.ClientIDMode = ClientIDMode.Static;
    lnk_product.ID = "lnk_product_" + (e.Item.ItemIndex + 1);
    div_product.Attributes.Add("onclick", "document.getElementById('" + lnk_product.ClientID + "').click()");
}

Получение ошибок в браузере:

Изображение (асинхронное)_updatePanel @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5_scriptIncludesLoadComplete @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5(анонимно) @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5(анонимно) @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5_loadScriptsInternal @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5_nextSession @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5loadScripts @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5_onFormSubmitCompleted @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5(анонимно) @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5(анонимно) @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5завершено @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5_onReadyStateChange @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5XMLHttpRequest.send (async)
executeRequest @ ScriptResource.axd? D… qOX341 & t = 3d6efc1f: 5executeRequest @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5invoke @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5_onFormSubmit @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5_doPostBack @ ScriptResource.axd? d… YI5aZ0 & t = 3d6efc1f: 5(анонимно) @ ScriptResource.axd? d… qOX341 & t = 3d6efc1f: 5(анонимно) @ VM7570: 1

Есть идеи?Как я могу использовать событие нажатия JavaScript без каких-либо проблем.если пользователь нажимает на div, я бы хотел нажать на кнопку ссылки.

Updatepanel> Repeater> Div> LinkButton

1 Ответ

0 голосов
/ 27 октября 2018

Я заново создал Repeater (думаю, было бы очень полезно, если бы вы опубликовали это также в следующий раз).

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>

        <asp:Repeater ID="rpt_product" runat="server" OnItemCreated="rpt_product_ItemCreated">
            <ItemTemplate>
                <div id="div_product" runat="server">
                    <asp:LinkButton ID="lnk_product" runat="server" OnClick="lnk_product_Click">LinkButton</asp:LinkButton>
                     Div Contents
                </div>
            </ItemTemplate>
        </asp:Repeater>

    </ContentTemplate>
</asp:UpdatePanel>

Возможно, проблема в том, что вы меняете идентификатор LinkButton. Так что удалите lnk_product.ID = "lnk_product_" + (e.Item.ItemIndex + 1);. Вам не нужно менять это. Тогда это будет работать.

...