0
我在同一頁上有一個窗體和一個GridView。當用戶保存表單時,它會創建一個ID。我需要將ID設置爲HiddenField。然後我需要該GridView的HiddenField。但是,一旦代碼完成表單的保存方法,在HiddenField被重置爲0Hiddenfield丟失值
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSaveMaintenance" />
</Triggers>
</asp:UpdatePanel>
<tr>
<td>
<asp:LinkButton ID="btnSaveMaintenance" OnClientClick="return ValidateSaveWithoutPieces()" OnClick="btnSaveMaintenance_Click" runat="server" style="float:left" CssClass="btnSaveSmall" ></asp:LinkButton>
</td>
我把一個更新面板中的保存按鈕,清爽和關閉(通常一次保存停止頁面按鈕被點擊它將關閉表單,但我需要它保持打開狀態)。
在頁面的頂部,我把HiddenField:
<asp:HiddenField ID="hfNewID" runat="server" />
然後在btnSaveMaintenance_Click
方法我設置HiddenField
protected void btnSaveMaintenance_Click(object sender, EventArgs e)
{
int tmpParentID = tmpID;
if (ParentID.HasValue)
tmpParentID = ParentID.Value;
Maintenance newMain = new Maintenance
{
ID = tmpID,
Company_ID = Company.Current.CompanyID,
VehicleTrailer = tmpType,
LinkedID = (long)tmpParentID,
DBRowStatus = JobPiece.RowStatus.ToCreate
};
main.Add(newMain);;
hfNewID.Value = tmpID.ToString(); //set value to hiddenfield
if (ParentID.HasValue)
{
Save(Reg, ParentID.Value);
List<Maintenance> Newmain = Maintenance.GetMainteneceItemsByParentID(Company.Current.CompanyID,
ParentID.Value,
PageType,
"Active");
ViewState["Maintenance"] = Newmain;
gvMaintenance.DataSource = Newmain;
gvMaintenance.DataBind();
udpMain.Update();
}
}
的價值,但是當我嘗試調用另一個HiddenField函數保持空白。我如何讓HiddenField保持價值?
回發時丟失的頂部? – Arshad
可能您必須將隱藏的字段放在updatePanel的contentTemplate下,而不是頁面頂部。 – Sandcar
請把隱藏字段放在更新面板中。我希望這會幫助你 –