我正在开发员工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 **
}
}
答案 0 :(得分:0)
我在我的机器上进行了类似的测试,我真的看不出为什么HiddenField没有更新。最有可能的是“获取员工信息”是根本原因。
此外,我想稍微纠正您的代码。
您的第一个UpdatePanel正在执行不必要的任务,不需要标记UpdateMode =“Conditional”。
另外
<Triggers>
<asp:AsyncPostBackTrigger ControlID="imgbtnNext" EventName="Click" />
</Triggers>
此标记对任何内容都没有影响,因为该按钮不在当前的UpdatePanel中。默认情况下,UpdatePanel中的所有内容都是AsyncPostBackTrigger,除非你有回复的东西,你可以添加asp:PostBackTrigger。