【问题标题】:Creating an HTML hidden control from code behind从后面的代码创建 HTML 隐藏控件
【发布时间】:2013-03-18 22:41:44
【问题描述】:

我有一个 Masterpage 应用程序,我想在其中创建一个隐藏字段
<asp:HiddenField ID="hdnField" runat="server" Value=""/>

为了获得客户端时间,所以我遵循建议的选项"How can i get timezone of the client machine?"。但是,由于我的应用程序是 Masterpage 应用程序,我的问题是:我应该在哪里创建 aspx 文件中的隐藏控件(在 .master 文件中......或在子 aspx 页面中,或者我应该在 page_load 事件上创建它.cs 页面)?

【问题讨论】:

    标签: c# asp.net master-pages hidden-field


    【解决方案1】:

    只需在 .master 页面中添加问题中的标记即可。确保它位于<form> 标记内。

    您的脚本(也在母版页中)如下所示:

    document.getElementById("<%=this.hdnField.ClientID%>").value = "...";
    

    【讨论】:

    • 如何调用它来设置 window.onload 事件中的 DateTime 值?
    • @Knagis... 我无法让 "" 工作,但我让 document.getElementById("ctl00_hdnField") 工作。使用这种方法会不会被认为是错误的?
    • @Csharp 那是因为它应该是&lt;%= hdnField.ClientID %&gt;。这就是您获取生成的 .NET ID 的方式。
    • @MikeSmithDev...感谢您的回复。虽然我很好奇,但如果我使用“document.getElementById("ctl00_hdnField")”,我会不会冒险让应用程序崩溃。
    • 如果您将应用程序留在 MasterPage 中的位置,它不会使您的应用程序崩溃,但是如果您将该控件移动到主控器外部或另一个控件(如 asp:Panel)内,则“ct100_hdnField”不起作用,它需要更新为为其 ID 生成的任何 .net。看这篇文章4guysfromrolla.com/articles/031710-1.aspx
    猜你喜欢
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    相关资源
    最近更新 更多