UpdatePanel и ContentTemplate не работают внутри <td>в таблице? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть кнопка, которая выполняет 2 действия с использованием ItemCommand в зависимости от одного sql запроса.

Если запрос верен, вызывается модальное окно.

Если запрос ложный, код выполняется, чтобы показать панель и et c, (я думаю, что делает обратную передачу). Но:

 <table class="table table-striped table-bordered table-hover" id="dataTables-Table">
    <thead>
        <tr>
            <th>Id_WorkOrder</th>
            <th>Revisar Orden</th>
        </tr>
    </thead>
    <tbody>
        <asp:Repeater ID="rpt" EnableViewState="false" OnItemCommand="rpt_ItemCommand"  runat="server" >
            <ItemTemplate>

                <tr>

                    <td>
                        <asp:Label ID="lblId_WorkOrder" runat="server" Text='<%# Eval("Id_WorkOrder") %>' />
                    </td>


<!-- This part of the code -->
                    <td>
                        <asp:UpdatePanel ID="updatePanel1" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional" >                                                             
                            <ContentTemplate>
                                <asp:Button ID="btnButton" runat="server"  Text="Button" CommandName="action"> </asp:Button>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                    </td>
<!-- This part of the code -->



                </tr>

            </ItemTemplate>
        </asp:Repeater>
    </tbody>
</table>

Если я помещу UpdatePanel и ContentTemplate внутри <td>, мой модальный код будет работать, а другой код - нет. Если они находятся за пределами модального <td>, не работает, а код работает, выполняется обратная передача.

protected void rpt_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "action")
    {

        if (sqlquery == true)
        {
            //Execute this modal, This work with the updatepanel and contenttemplate inside,
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "none", "<script>$('#modalInicioRep').modal('show');</script>", false);
        }
        else
        {     
            //Do postback and show another Panel.
            pnlTable.Visible = false;
            pnlFormulary.Visible = true;
        }

    }

}

Что я могу сделать для выполнения обоих ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...