【发布时间】:2012-05-16 08:54:35
【问题描述】:
我有以下情况:
Page1.aspx 基于母版页,其中有一个名为“hdFlotaID”的隐藏字段。在同一页面上,我有一个按钮,我为其设置了PostBackUrl="Page2.aspx"。当我单击按钮时,Page2 已加载,但我无法获取隐藏字段。我都试过了(正如我在 msdn 或其他帖子上看到的那样):
this.PreviousPage.Controls[0].FindControl("hdFlotaID")
和
this.PreviousPage.FindControl("hdFlotaID")
但它们返回 null。
This.PreviousPage 返回一个值,但该值的Controls[0] 似乎返回母版页,我想要内容页。
我还检查了隐藏字段具有 runat 服务器值并且 ClientID 模式设置为静态(我什至检查了生成的 HTML 并且 ID 是正确的)
你能帮帮我吗!谢谢
解决方案:好的,根据您的帮助,我让它像这样工作
this.PreviousPage.Controls[0].FindControl("CPH").FindControl("hdFlotaID")
其中 CPH 是母版页中 ContentPlaceHolder 的 ID。
尽管在我的情况下添加 PreviousPageType 指令给我一些关于命名空间的错误,但具有公共属性的想法也非常好。如果我删除了指令并将其转换为代码隐藏,它就可以正常工作。
非常感谢大家
【问题讨论】:
标签: asp.net hidden-field