【问题标题】:Differntiate between a dropdown list's postback and submit button's postback in ASP.NET在 ASP.NET 中区分下拉列表的回发和提交按钮的回发
【发布时间】:2011-11-12 04:15:07
【问题描述】:

我对 ASP.NET 和 C# 比较陌生 我正在创建一个包含学生姓名、课程下拉列表和学期编号下拉列表的基本表格。我正在使用回发来填充学期编号下拉列表。我正在将通过表单获取的数据显示为标签。我正在使用 IsPostBack 用数据填充标签

我的问题是,当我更改程序时,它会触发回发以填充学期下拉列表,并且由于我使用该事件来显示数据,因此我无法真正选择学期编号。

如何区分提交按钮回发和下拉回发?

谢谢!!!

【问题讨论】:

    标签: c# asp.net drop-down-menu postback


    【解决方案1】:

    而不是在加载事件处理程序中编码或使用 isPostBack。只需使用按钮事件处理程序。您可以通过双击设计视图中的按钮来做到这一点。

    不过,更好的方法是使用带有脚本管理器的 .Net Ajax 更新面板,它使用起来非常简单。

    以下是使用脚本管理器和更新面板的简单示例,您可以将其用于下拉列表,因此您不必为此回发。所以回发应该只针对按钮。

    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
      <asp:UpdatePanel ID="UpdatePanel1" runat="server">
         <ContentTemplate>
            <p runat="server">
            <asp:Label ID="lblDOA" runat="server" Text="Appointment Date :"   Height="21px" 
                Width="136px" Visible="true"></asp:Label>
            <asp:TextBox ID="txtDOA" runat="server" CssClass="fieldz" AutoPostBack="true" 
                Visible="true" ViewStateMode="Enabled"></asp:TextBox>
        </p>
         </ContentTemplate>
       </asp:UpdatePanel>
    

    您可以使用下拉列表代替上面代码中的文本框。

    【讨论】:

    • 我想过使用按钮的 onclick 事件,但我认为可能有更好的方法。我刚刚开始,所以我不熟悉 AJAX 扩展,但我会记住这一点。一旦我的当前应用程序正常运行,我将开始使用 AJAX THANKS :)
    • 更好的方法是对按钮使用 onclick 事件,但对于下拉列表将其包裹在我在上面向您展示的 ajax 中,这将使网页无闪烁。
    • UpdatePanel 非常棒......直到它们“在复杂的用例场景中随机停止工作”:( [别问我是怎么知道的。]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-10
    • 2011-02-24
    • 1970-01-01
    相关资源
    最近更新 更多