【问题标题】:Why does the whole page do postback and RadioButton loses its value?为什么整个页面都做回发,而 RadioButton 失去了它的价值?
【发布时间】:2023-03-24 02:05:01
【问题描述】:

我希望从单选按钮中进行选择以运行查询以填充 DropDownList。我不希望整个页面都进行回发。我的整个页面正在回发。

另外,当我将此页面复制到测试页面时,单选按钮的值会丢失。我需要单选按钮来驱动他们查询填充下拉列表的内容。

我做错了什么导致完整的回发?

(永远不会执行方法“FillAppointmentTypes_SelectedIndexChanged”。)

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>


<asp:UpdatePanel ID="updatePanelToggle" runat="server">

  <ContentTemplate>
    <div class="form-group">
      <label for="radDoctors" class="col-md-3 control-label">
        Choose your doctor: <span id="asdf"></span>
      </label>
      <div class="col-md-9">
        <asp:RadioButtonList ID="radDoctors" runat="server" CssClass="" 
          OnSelectedIndexChanged="FillAppointmentTypes_SelectedIndexChanged"
          AutoPostBack="True">
        </asp:RadioButtonList>
      </div>
    </div>
    <div class="form-group">
      <label for="ddAppointmentTypes" class="col-md-3 control-label">
        Reason for Visit: <span id="Span1"></span>
      </label>
      <div class="col-md-9">
        <asp:DropDownList ID="ddAppointmentTypes" runat="server">
        </asp:DropDownList>
      </div>
    </div>
  </ContentTemplate>
</asp:UpdatePanel>

我已经在updatedatePanel和内容模板之外尝试了一个触发器,不喜欢:

<Triggers>
  <asp:AsyncPostBackTrigger ControlID="radDoctors" EventName="SelectedIndexChanged" />
</Triggers>

【问题讨论】:

  • 您是否尝试过分配触发器,例如&lt;asp:AsyncPostBackTrigger ControlID="" EventName="" /&gt;
  • 您好,是的,我有.. 运气不好。我已经更新了我的问题。
  • 除非我快疯了,否则一切看起来都是正确的。是否有相关代码可能正在修改代码隐藏文件中更新面板或单选按钮列表的属性?另外,我想指出的是,只要触发回发的控件是更新面板的子控件并且 ChildAsTrigger 设置为 true(默认情况下),那么您就不需要将 AsyncPostBackTrigger 添加到触发器部分。
  • 我正在使用 jQuery 和引导程序。这些是用于演示的,但它们可能会导致问题。此外,这是一个使用母版页的模板。但这是相当标准的东西。我已经读过,在这种情况下不需要异步回发触发器,因为默认情况下,只有内容模板中的控制项才会发布回发。但是,我开始拔头发,尝试我能想到的一切。
  • 通过以下方式加载表单时会填充单选按钮列表: If (!Page.IsPostBack) { LoadRadiobuttonlist() }

标签: c# asp.net webforms updatepanel


【解决方案1】:

放...

if(page.ispostback) 
{
return;
}

在页面加载事件的顶部..

希望对你有帮助

也可以在更新面板上设置 ChildAsTrigger="true"

【讨论】:

  • 如果页面不是回发,我用查询值预填充页面。如果页面是回发,我会保存内容,然后将用户重定向到“您已更新”类型的页面。
  • 抱歉没有用的答案。而且在更新面板上将 ChildAsTrigger 属性设置为 true 也没用?
  • 也试过了。没有运气。该表单仍在发布完整的回发。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多