Удалить кнопку ссылки, не запускающуюся внутри вида сетки внутри панели обновления - PullRequest
2 голосов
/ 10 сентября 2010

Посмотрел различные посты здесь, но не смог найти ни одного, похожего на это, я знаю, что это будет что-то маленькое, но я просто не могу понять это.

Я использую gridview внутрипанель обновления.Вид сетки использует автоматически созданный столбец удаления, преобразованный в столбец шаблона.Вот код:

<asp:GridView ID="gvFiles" runat="server" AutoGenerateColumns="False" 
        CellPadding="4"
        ForeColor="#333333" GridLines="None">
        <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
        <Columns>
            <asp:TemplateField HeaderText="Files" HeaderStyle-HorizontalAlign="Left">

            <ItemStyle Width="210px" />
            <ItemTemplate>
                <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#Eval("Id", "~/Download.aspx?id={0}")%>'><%#Eval("LinkName")%></asp:HyperLink>,<br />
                Last Modified: <%#Me.cutDate(Eval("DateModified"))%>
            </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField ShowHeader="False" HeaderText="Team">
            <ItemStyle Width="150px" />
            <HeaderStyle HorizontalAlign="Left"></HeaderStyle>
                <ItemTemplate>
                    <%#Me.GetTeamName(Eval("TeamId"))%>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField ShowHeader="False">
                <ItemTemplate>
                    <asp:LinkButton ID="lbDelete" runat="server" CausesValidation="False" 
                        CommandName="Delete" Text="Delete" OnClientClick="return confirm('Are you sure you want to delete this post?');"></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>

        </Columns>
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <EditRowStyle BackColor="#999999" />
        <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
    </asp:GridView>

У меня точно такой же код работает нормально, когда его нет внутри панели обновления.Что мне нужно сделать, чтобы заставить это работать?

Редактировать: Забыл упомянуть, все мои настройки панели обновлений по умолчанию.Также происходит то, что вы нажимаете «Удалить», появляется подтверждающее сообщение, вы нажимаете «Да», и тогда ничего не происходит.

Ответы [ 2 ]

1 голос
/ 12 января 2012

У меня была такая же проблема только с кнопкой редактирования, все остальные работали нормально, что мне показалось странным. Поэтому я добавил событие onclick к кнопке редактирования, которое восстанавливает сетку, и это сработало. С точками останова я увидел, что вид сетки правильно установил editIndex при первом щелчке, но не изменился на шаблоны editItem до второго щелчка. Надеюсь, что это дает вам некоторые идеи.

0 голосов
/ 10 сентября 2010

Я думаю, вам придется добавить это

<Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnFindOrder" EventName="Click" />
</Triggers>
...