UpdatePanel 不刷新

User_Question 2010-11-17 03:29:36
在UpdatePanel中有一Repeater, UpdatePanel外有一ModalPopup,与ModalPopup关联的Paenl中且个保存按钮,点击保存按钮后将修改提交到DB,但是ModalPopup隐藏后UpdatePanel中的Repeater未刷新。请问怎么解决?
...全文
320 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
User_Question 2010-11-17
  • 打赏
  • 举报
回复
OK,修改好了,原来只写Repeater1.DataBind();不行呵呵。这就结帖。
User_Question 2010-11-17
  • 打赏
  • 举报
回复
<asp:UpdatePanel ID="upRepeater" runat="server">
<ContentTemplate>
<table>
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<tr class="GridHeader">
<td>
</td>
<td style="width: 300px;">
Generic Name
</td>
<td style="width: 300px;">
Brand Name
</td>
<td style="width: 300px;">
Display Name
</td>
<td style="width: 300px;">
Other Name
</td>
<td>
NDC
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:ImageButton ID="EditMedication" OnClick="EditMedication_Click" runat="server"
CommandArgument='<%# Eval("MedicationID") %>' ImageUrl="~/Images/Edit.gif"></asp:ImageButton>
</td>
<td>
<asp:Label ID="GenericNameLabel" runat="server" Text='<%# Eval("GenericName") %>' />
</td>
<td>
</td>
<td>
<asp:Label ID="OtherNamesLabel" runat="server" Text='<%# Eval("OtherNames") %>' />
</td>
<td>
<asp:Label ID="DisplayNameLabel" runat="server" Text='<%# Eval("DisplayName") %>' />
</td>
<td>
</td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr style="background-color: #eeeeff">
<td>
<asp:ImageButton ID="EditMedication" OnClick="EditMedication_Click" runat="server"
CommandArgument='<%# Eval("MedicationID") %>' ImageUrl="~/Images/Edit.gif"></asp:ImageButton>
</td>
<td>
<asp:Label ID="GenericNameLabel" runat="server" Text='<%# Eval("GenericName") %>' />
</td>
<td>
</td>
<td>
<asp:Label ID="OtherNamesLabel" runat="server" Text='<%# Eval("OtherNames") %>' />
</td>
<td>
<asp:Label ID="DisplayNameLabel" runat="server" Text='<%# Eval("DisplayName") %>' />
</td>
</tr>
</AlternatingItemTemplate>
</asp:Repeater>
</table>
</ContentTemplate>
</asp:UpdatePanel>


<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="FakeLinkButton"
BackgroundCssClass="modalBackground" PopupControlID="Panel1" CancelControlID="btCancel" />
<asp:Panel ID="Panel1" runat="server" Width="700px" Height="600px" BackColor="White"
BorderStyle="Solid" BorderColor="Black" BorderWidth="1px">
<asp:Button ID="btSave" runat="server" Text="Save" OnClick="btSave_Click" />
<asp:Button ID="btCancel" runat="server" Text="Exit" />

<!-- 一堆控件 -->
</asp:Panel>

运行上面的代码,在重新绑定Repeater1之前我查看了DB,结果记录的值已经修改了,但是ModalPopup隐藏后,Repeater1还是没有更新。
ltcszk 2010-11-17
  • 打赏
  • 举报
回复
保存按钮在UpdatePanel外的话,点击就会重新提交整个页面,UpdatePanel里的东西全会重新生成
repeater没变的话应该从数据库到控件这里找原因和UpdatePanel无关。
你在重新绑定时检查下数据源的数据有没有修改
User_Question 2010-11-17
  • 打赏
  • 举报
回复
不行啊,还是不刷新,我分别试了下面的三种情况,都不管用:
1. 在button的Cick事件中: Repeater1.DataBind();
2. 将UpdatePanel的UpdateMode设置为Conditional,然后在button的Cick事件中: upRepeater.Update();
3. 设置UpdatePanel的AsyncPostBack Control为btnSave。
achomoon 2010-11-17
  • 打赏
  • 举报
回复
3楼是正解,你点击ModalPopup中的保存按钮,不在updatepanel设置触发不执行你的无刷新,同时需要重新绑定你的记录集。
ltcszk 2010-11-17
  • 打赏
  • 举报
回复
Repeater没有重新绑定
User_Question 2010-11-17
  • 打赏
  • 举报
回复
?隐藏什么?
丰云 2010-11-17
  • 打赏
  • 举报
回复
隐藏....

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧