回发后刷新母版页上的控件

发布于 2024-08-28 13:25:53 字数 852 浏览 5 评论 0原文

我在这里尝试做的是以项目符号列表的形式显示一些验证消息,因此我的母版页上有一个包含 asp:bulletlist 的 Div。像这样:

                <div>
                <asp:BulletedList ID="blstValidationErrorMessage" runat="server" BulletStyle="Disc">
                </asp:BulletedList>
            </div>

当我从任何页面(在主要 contentPlaceHolder 内)单击“保存”按钮时,我创建一个消息列表并将该列表作为数据源提供,如下所示:

                blstValidationErrorMessage.DataSource = validationMessageCollection;
                blstValidationErrorMessage.DataBind();   

“保存”按钮位于更新面板内:

asp:UpdatePanel runat="server" ID="UpdatePanel" ChildrenAsTriggers="true" UpdateMode="Conditional">

什么也没有发生,我可以看到项目符号列表的数据源包含 X 个项目,一定会出现问题,因为“保存”按钮位于更新面板内部,并且此更新面板外部的元素(例如母版页控件)未刷新。

所以我的问题是,如何使项目符号列表在回发后刷新?

提前致谢。

What i am trying to do here is to show a couple of validation messages in form of a bulletlist, so i have a Div on my master page containing a asp:bulletlist. Like this:

                <div>
                <asp:BulletedList ID="blstValidationErrorMessage" runat="server" BulletStyle="Disc">
                </asp:BulletedList>
            </div>

When i then click the Save button from any of my pages (inside the main contentPlaceHolder) i create a list of messages and give this list as datasouce like this:

                blstValidationErrorMessage.DataSource = validationMessageCollection;
                blstValidationErrorMessage.DataBind();   

The save button is located inside an updatepanel:

asp:UpdatePanel runat="server" ID="UpdatePanel" ChildrenAsTriggers="true" UpdateMode="Conditional">

Nothing happens, i can see that the datasource of the bulletlist contains X items, the problems must arise because the Save button is inside an update panel and the elements outside this updatepanel (master page controls for example) is not refreshed.

So my question is, how do i make the bulletlist refresh after the postback?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九公里浅绿 2024-09-04 13:25:55

Save 按钮只会更新您放置它的 UpdatePanel 的内容。我建议这样做:

  1. 将 SaveButton 移到 UpdatePanel 之外。你把它放在哪里我就交给你了。
  2. 将您的验证 div 放入另一个 UpdatePanel 中。将其命名为 ValidationUpdatePanel
  3. 将 SaveButton 添加为两个更新面板的 AsyncPostbackTrigger。由于您可能将每个 UpdatePanel 分为不同的控件/页面,因此您可能希望以编程方式在代码隐藏中执行此操作。

The Save button will only update the contents of the UpdatePanel you placed it in. Here's what I recommend doing:

  1. Move the SaveButton outside of the UpdatePanel. Where you put it I'll leave up to you.
  2. Put your validation div inside another UpdatePanel. Call it ValidationUpdatePanel
  3. Add your SaveButton as an AsyncPostbackTrigger for both update panels. Since you may have each UpdatePanel separated into different controls/pages, you'll probably want to do this in the code-behind programmatically.
守不住的情 2024-09-04 13:25:54

如果您的按钮位于 UpdatePanel 内,则也应将 BulletedList 控件放置在 UpdatePanel 内。

您可以在 MasterPage 文件中围绕 BulletedList 放置一个 UpdatePanel。将“UpdateMode”设置为“Conditional”,然后调用 UpdatePanel 的 Update 方法仅在需要时刷新(例如单击“保存按钮”)。

If your button is inside an UpdatePanel, you should place your BulletedList control inside an UpdatePanel too.

You can place an UpdatePanel surrounding the BulletedList in the MasterPage file. Set "UpdateMode" to "Conditional" then call the Update method of the UpdatePanel to refresh only when needed ('save button' click for example).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文