【问题标题】:How can I add UpdatePanels to my gridview in asp.net如何在 asp.net 中将 UpdatePanels 添加到我的 gridview
【发布时间】:2014-06-17 18:23:45
【问题描述】:

我有一个gridview,其中gridview 中有一些文本框和按钮。我想在单击按钮时使用更新面板,以便只刷新一个文本框而不是整个页面。我尝试在我的 gridview 中添加我的 ScriptManager 和 UpdatePanel,但我收到错误消息,提示无法识别标签。

我已经在 SO 的其他地方寻找解决方案,其他人则说将整个 gridview 放在 UpdatePanel 中。但是,我不希望更新整个网格(它很长)。我的网格视图中是否可以有单独的 UpdatePanel?

编辑:

这里有一些代码可以解决我的问题:

<asp:UpdatePanel ID="UpdatePanel" runat="server">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="PCalendar" EventName="SelectedChange" />
    </Triggers>
    <ContentTemplate>
            <asp:GridView ID="GridView1" runat="server">
                <Columns>
                    <asp:TemplateField HeaderText="QS">
                    <ItemTemplate>
                      <asp:TextBox ID="TextBox" runat="server" Text=' <%#Bind("PDate") %>' OnTextChanged="SetTextBox" AutoPostBack="True"></asp:TextBox>
                      <asp:ImageButton ID="PButton" runat="server" OnClick="ShowCalendar" ImageUrl="../images/calendarIcon.jpg" />
                      <asp:Calendar ID="PCalendar" runat="server" Visible="false" OnSelectionChanged="SetDate" ></asp:Calendar>
                   </ItemTemplate>
                   </asp:TemplateField>
               </Columns>
           </asp:GridView>
    </ContentTemplate>
</asp:UpdatePanel>

【问题讨论】:

  • 所以你有代码。您不想将更新面板放在网格中。您想将网格放在更新面板中。如果你展示你的代码,它会更容易告诉你它是如何完成的。
  • 你能发布一些你的代码吗?

标签: c# asp.net gridview updatepanel


【解决方案1】:

这就是它的样子。发布代码后,您将更容易看到您离我们有多近以及如何正确地帮助您。但这是大意。

<asp:UpdatePanel ID="UpdatePanel" runat="server">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="buttonOneID" EventName="Click" />
            <asp:AsyncPostBackTrigger ControlID="buttonTwoID" EventName="Click" />
        </Triggers>
        <ContentTemplate>
                <asp:GridView ID="GridView1" runat="server">
                    <Columns>
                        //columns code here
                   </Columns>
        </asp:GridView>
        </ContentTemplate>
 </asp:UpdatePanel>

【讨论】:

  • 我认为您需要将 UpdatePanel 的 UpdateMode 设置为 Conditional。否则,UpdatePanel 将在每次回发时更新其内容。
  • 不应该。但这将取决于他如何设置它。如果 buttonOneID 是 Update 或类似的东西,上面只会更新面板。这是我用于网格视图和更新面板的基本结构,没有任何问题。
  • 你确定吗? UpdateMode="Always" 是默认值。请参阅这篇 msdn 文章:msdn.microsoft.com/en-gb/library/…
  • 啊,我明白你在说什么。是的,在每次回帖时,都会刷新 gridview 中的内容,除非 UpdateMode 设置为有条件的。很好的收获。
  • 这是我需要的基本概念。但是,当按钮位于网格内时,如果 contentTemplate 放置触发器会导致问题。我收到一条错误消息,提示找不到按钮的 ControlID。我应该将触发器放在其他地方吗?
猜你喜欢
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-13
  • 2017-08-03
  • 2016-09-30
  • 2013-03-09
  • 2014-09-12
  • 1970-01-01
相关资源
最近更新 更多