更新面板中的隐藏字段值未正确更新
本文关键字:更新 字段 隐藏 | 更新日期: 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.