gpt4 book ai didi

javascript - 隐藏字段在代码隐藏中失去值(value)?

转载 作者:行者123 更新时间:2023-11-28 03:53:19 25 4
gpt4 key购买 nike

我正在尝试使用 HiddenField 将数据从客户端传递到服务器。

Javascript/UI.ascx

<asp:HiddenField ID="PassArgs" runat="server" EnableViewState="true"/>
//Tried using EnableViewState, but still no luck


<script>

document.getElementById("<%=PassArgs.ClientID%>").value = JSON.stringify(SP.UI.ModalDialog.get_childDialog().get_args());
alert(document.getElementById("<%=PassArgs.ClientID%>").value);
//Alert shows correct data to be passed

</script>

但是,当我尝试从代码隐藏访问我的 HiddenField 时,我的结果是空的。

隐藏代码

var jss = new JavaScriptSerializer();

var dict = jss.Deserialize<Dictionary<string, dynamic>>(PassArgs.Value);
//PassArgs.Value = "" --- whyyyy???

我发布这个问题是作为最后的手段,因为我花了一整天的时间来研究类似的问题,但我无法让它适合我的情况。

为什么我的“PassArgs”警报包含正确的值,但我后面的代码显示为空?我尝试过使用 HiddenFields、TextBoxes 和 Labels,但结果都是相同的。

编辑:当脚本运行时,HiddenField 似乎具有正确的值,我不认为这是问题,但我认为脚本在 iv 已经尝试在代码隐藏中访问它之后运行。我认为这可能就是隐藏字段显示为空的原因,因为脚本尚未运行。在我的调试器到达代码隐藏 (UI.ascx.cs) 来访问它之前,如何让它在 UI.ascx 中运行?

最佳答案

您可以从服务器变量中获取数据,因此您可以通过调用 Request.Form["PassArgs"] 来获取该值,该值返回您的请求的值,并且您可以解析该结果请求收集您的表单 Convert.ToString(Request.Form) 以及

否则,您可以使用具有隐藏样式的 TextBox 字段,以防它仍然无法正常工作

<asp:TextBox ID="PassArgs" runat="server" style="display:none;"></asp:TextBox>

关于javascript - 隐藏字段在代码隐藏中失去值(value)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47782117/

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