【发布时间】:2008-10-31 00:14:36
【问题描述】:
通过 JavaScript 访问嵌入在 ASP.NET PlaceHolder 控件中的 ASP.NET HiddenField 控件的最佳方法是什么? Visible 属性在初始页面加载时设置为 false,并且可以通过 AJAX 回调进行更改。
这是我目前的源代码:
<script language="javascript" type="text/javascript">
function AccessMyHiddenField()
{
var HiddenValue = document.getElementById("<%= MyHiddenField.ClientID %>").value;
//do my thing thing.....
}
</script>
<asp:PlaceHolder ID="MyPlaceHolder" runat="server" Visible="false">
<asp:HiddenField ID="MyHiddenField" runat="server" />
</asp:PlaceHolder>
编辑: 如何在 C# 后面的 ascx 代码中设置 div 标签的样式?这是来自后面代码的描述:CssStyleCollection HtmlControl.Style
更新: 我用 asp:label 替换了 asp:hiddenfield,当我在警报框中显示 HiddenValue 变量时,我得到一个“未定义”。我将如何解决这个问题。
更新 2: 我继续重构代码,将隐藏字段控件替换为文本框控件并将样式设置为“显示:无;”。我还删除了 JavaScript 函数(它由 CustomValidator 控件使用)并将其替换为 RequiredFieldValidator 控件。
【问题讨论】:
-
可以使用 Attributes 属性进行设置,但是为什么需要在服务器端进行设置呢?
-
我将其设置为服务器端,因为当用户从搜索结果集中选择一个项目时会显示隐藏字段。
-
隐藏字段,顾名思义是隐藏的。如果您需要显示隐藏字段的值,请使用其他控件,例如 TextBox 或 Label
标签: asp.net javascript