提交一个 UpdatePanel 会清除另一 UpdatePanel 中的复选框输入吗?

发布于 2024-12-12 10:01:57 字数 886 浏览 1 评论 0原文

我的更新面板中有两个复选框。一个是 ASP.NET CheckBox 控件,另一个只是 HTML 元素。我在不同更新面板中有一个按钮。

这是页面的相关部分:

<asp:UpdatePanel runat="server" ID="UpdatePanel1">
    <ContentTemplate>
        <input type="checkbox" id="check1" name="check1" />HTML Input<br />
        <asp:CheckBox runat="server" ID="check2" Text="ASP CheckBox"></asp:CheckBox><br />
    </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpdatePanel2">
    <ContentTemplate>
    <asp:Button runat="server" ID="Submit" Text="Submit" OnClick="Submit_Click" />
    </ContentTemplate>
</asp:UpdatePanel>

我选中两个复选框,然后单击按钮。我看到的是复选标记从 HTML 中消失了,但 CheckBox 控件的复选标记仍然存在。

为什么?我本以为第一个更新面板中的任何内容都不会改变,因为我正在对第二个更新面板进行部分回发。

如果我将两个复选框移出更新面板,则两者都会保留复选标记(正如我所期望的那样)。

I have two check boxes in an update panel. One is an ASP.NET CheckBox control, the other is just an HTML <input> element. I have a button in a different update panel.

So here's the relevant portion of the page:

<asp:UpdatePanel runat="server" ID="UpdatePanel1">
    <ContentTemplate>
        <input type="checkbox" id="check1" name="check1" />HTML Input<br />
        <asp:CheckBox runat="server" ID="check2" Text="ASP CheckBox"></asp:CheckBox><br />
    </ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpdatePanel2">
    <ContentTemplate>
    <asp:Button runat="server" ID="Submit" Text="Submit" OnClick="Submit_Click" />
    </ContentTemplate>
</asp:UpdatePanel>

I check both check boxes, then I click the button. What I'm seeing is the check mark disappears from the one that's just HTML, but the check mark is still there for the CheckBox control.

Why? I would have thought that nothing in the first update panel would change, because I'm doing a partial postback of the second update panel.

If I move the two checkboxes out of the update panel, then both keep their check marks (as I would have expected).

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

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

发布评论

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

评论(1

生寂 2024-12-19 10:01:57

我的猜测是,您的更新面板需要进行配置,以便仅更新实际使用的更新面板。当更新 UpdatePanel2 时,两个面板都会更新。相信只要在UpdatePanel1上设置UpdateMode=“Conditional”属性,就会得到想要的效果。

您可以在 UpdateMode 财产。

My guess here is that your update panels need to be configured so that ONLY the update panel that is actually used is updated. When UpdatePanel2 is updated both panels are updating. I believe that as long as you set the UpdateMode="Conditional" property on UpdatePanel1, you will get the desired effect.

You can see this MSDN Documentation on the UpdateMode property.

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