gpt4 book ai didi

javascript - HiddenField 值在回发时丢失

转载 作者:行者123 更新时间:2023-11-30 08:14:11 26 4
gpt4 key购买 nike

我有一些 JavaScript 可以设置 HiddenField 的值,然后强制回发。我可以跟踪这个 JavaScript,它似乎可以正常工作。但是,当我从页面的加载事件中测试 HiddenField 的值时,它不再被设置。

在网上搜索时,我看到很多关于丢失 HiddenField 值的帖子,但似乎没有一个和我在做同样的事情。

这是我的 JavaScript 函数(已修改):

function EditItemItem(itemId) {
document.getElementById('<%= EditItemId.ClientID %>').value = itemId;
__doPostBack('<%= EditItemUpdatePanel.ClientID %>', '');
}

这是我的部分标记(已修改):

<div id="EditItemBox" runat="server">
<asp:HiddenField runat="server" id="EditItemId" />
<asp:UpdatePanel ID="EditItemUpdatePanel" runat="server"
UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="EditItemPanel" runat="server"
CssClass="ModalDialog" style="display:none;">
<div>Edit an Item</div>
<!-- ... -->
</asp:Panel>
</asp:UpdatePanel>
</div>

有没有人有什么想法?

最佳答案

如果您从隐藏字段中删除 runat=server 然后从表单参数 Request.Form["EditItemId"] 访问它会更容易。然后它每次都有效。

您的代码将变成:

function EditItemItem(itemId) {
document.getElementById('EditItemId').value = itemId;
__doPostBack('<%= EditItemUpdatePanel.ClientID %>', '');
}

<div id="EditItemBox" runat="server">
<input type="hidden" id="EditItemId" name="EditItemId" value="" />
<asp:UpdatePanel ID="EditItemUpdatePanel" runat="server"
UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="EditItemPanel" runat="server"
CssClass="ModalDialog" style="display:none;">
<div>Edit an Item</div>
<!-- ... -->
</asp:Panel>
</asp:UpdatePanel>
</div>

关于javascript - HiddenField 值在回发时丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6349155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com