加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在JavaScript中访问asp:hiddenfield控件

发布时间:2020-12-15 23:57:56 所属栏目:asp.Net 来源:网络整理
导读:访问通过JavaScript嵌入ASP.NET PlaceHolder控件的ASP.NET HiddenField控件的最佳方法是什么? Visible属性在初始页面加载中设置为false,可以通过AJAX回调进行更改. 这是我目前的源代码: script language="javascript" type="text/javascript" function Acc
访问通过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:标签替换了asp:hiddenfield,当我在警告框中显示HiddenValue变量时,我得到一个“未定义”.我该如何解决这个问题.

更新2:我继续重构代码,用文本框控件替换隐藏的字段控件,并将样式设置为“display:none;”.我还删除了JavaScript函数(它由CustomValidator控件使用)并用RequiredFieldValidator控件替换它.

解决方法

我的理解是,如果在初始页面加载期间设置controls.Visible = false,则不会在客户端响应中呈现它.
我建议解决你的问题是

>不要使用占位符,从场景判断,您不需要占位符,除非您需要在服务器端动态添加控件.使用div,不使用runat = server.您始终可以使用css控制该div的可见性.
>如果以后需要动态添加控件,请使用占位符,但不要设置visible = false.占位符无论如何都不会有任何显示,使用css设置该占位符的可见性.以下是如何以编程方式执行此操作:

placeholderId.Attributes [“style”] =“display:none”;

无论如何,正如其他人所说的那样,你的问题就出现了,因为一旦你设置了control.visible = false,就不会在客户端响应中呈现它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读