更新面板中的隐藏字段值未正确更新

本文关键字:更新 字段 隐藏 | 更新日期: 2023-09-27 18:15:01

我在员工web应用程序项目中工作,在我的应用程序中,我使用了2个更新面板,隐藏字段和按钮。实际上我所做的是,而点击按钮,我需要得到下一个员工信息,并将其保存此信息。每当我点击更新面板2中的按钮,获取员工信息,我将这个员工id保存在更新面板1中的隐藏字段中,在调试隐藏字段值时显示正确的员工id,但节省了时间,它具有旧值。为此,我面临很多问题,请帮助我。谢谢你

下面是我的代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
  <div>
    <table>
      <tr>
        <td style="border-left: 1px solid #CDCDCD; border-right: 1px solid #CDCDCD; background-color: #E9E9E9">
          <asp:ScriptManager ID="ScriptManager" runat="server" EnablePartialRendering="true"
            AsyncPostBackTimeout="36000" />
          <div>
            <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="60000">
            </asp:Timer>
          </div>
          <div align="left" style="width: 715px; background: #E9E9E9;">
            <div style="margin: 0px 30px 0px 45px; line-height: 140%; border-bottom: 1px solid #E0E2E0;
              padding: 10px 0px 15px 0px">
              <asp:UpdatePanel ID="upNextChapter" runat="server" UpdateMode="Conditional">
                <ContentTemplate>
                  <table width="100%">
                    <tr>
                      <td align="right">
                        <asp:HiddenField ID="hfEmpId" runat="server" Value="0" />
                        ** Employee Info **
                      </td>
                    </tr>
                  </table>
                </ContentTemplate>
                <Triggers>
                  <asp:AsyncPostBackTrigger ControlID="imgbtnNext" EventName="Click" />
                </Triggers>
              </asp:UpdatePanel>
            </div>
          </div>
          <div align="right" style="padding-right: 30px;">
            <div>
              <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                  <asp:ImageButton ID="imgbtnNext" runat="server" OnClick="imgbtnNext_Click" />
                </ContentTemplate>
              </asp:UpdatePanel>
            </div>
          </div>
          <div align="center">              
          </div>
        </td>
      </tr>
    </table>
  </div>
  </form>
</body>
</html>

背后的代码:

public partial class _Default : System.Web.UI.Page 
{
  protected void Page_Load(object sender, EventArgs e)
  {
  }
  protected void imgbtnNext_Click(object sender, EventArgs e)
  {
    //Get Employee Info & store it in Hidden field value=Employee Id
    //** Saving Employee Info using Hidden filed value **
  }
}

更新面板中的隐藏字段值未正确更新

我在我的机器上做了一个类似的测试,我真的看不出为什么HiddenField没有更新。很可能你的"获取员工信息"才是根本原因。

我也想纠正你的代码一点。

你的第一个UpdatePanel正在做不必要的任务,标签UpdateMode="Conditional"是没有必要的。

<Triggers>
  <asp:AsyncPostBackTrigger ControlID="imgbtnNext" EventName="Click" />
</Triggers>

这个标签没有任何作用,因为按钮不在当前的UpdatePanel中。默认情况下,UpdatePanel中的一切都是AsyncPostBackTrigger,除非你有东西要发回,你可以添加asp:PostBackTrigger.