【问题标题】:How ASP.NET will render Hidden field and a textbox with visibility property as false?ASP.NET 如何将隐藏字段和具有可见性属性的文本框呈现为假?
【发布时间】:2013-01-14 04:06:23
【问题描述】:
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:TextBox ID="Textbox1" runat="server" Visible = "false"></asp:TextBox>

ASP.Net 如何将可见性属性设置为 false 的 asp:HiddenFieldasp:TextBox 呈现?

【问题讨论】:

  • 有什么理由不能一试吗?

标签: c# asp.net rendering


【解决方案1】:

在你的 html 上下文中

<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:TextBox ID="Textbox1" runat="server" Visible = "false"></asp:TextBox>

text-box 不会在浏览器上呈现。
但是hidden field 会被渲染。

您从服务器端代码设置的控件可见性不会在浏览器上呈现。
您要使用cssdisplay:none

【讨论】:

    【解决方案2】:

    它会以相同的方式渲染

    <input id="_controlId" type="hidden" value="" name="_controlId">
    

    您可以在浏览器中打开您的页面并查看页面源代码。

    如果您希望服务器根本不呈现您的控件,请将它们放入 PlaceHolder 并设置属性 Visible = "false"

    <asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible = "false">
        <asp:TextBox ID="Textbox1" runat="server" ></asp:TextBox>
    </asp:PlaceHolder>
    

    【讨论】:

      【解决方案3】:

      您可以自己找出答案。运行您的 .aspx 页面并单击页面上的查看源代码。

      隐藏字段将包含在标记中,但您将无法在页面上直观地看到它。

      TextBox 设置为从服务器端不可见。除非您将 Visible 属性更改为 true,否则它根本不会出现。

      【讨论】:

        【解决方案4】:

        术语“渲染”是指 ASP.NET 为 .aspx 页面创建 HTML 的行为,当您将 Visible = false 设置为控件时,它不会被渲染。这意味着没有发送到页面的该控件的 HTML 表示。仅设置样式。

        您可以将样式设置为 display: none 从服务器端代码如下:

        FromDate.Style.Add(HtmlTextWriterStyle.Display, "none")
        

        这样元素仍然存在,供 JavaScript 操作。

        【讨论】:

          猜你喜欢
          • 2011-12-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-16
          • 1970-01-01
          • 2012-05-10
          • 1970-01-01
          • 2018-12-20
          相关资源
          最近更新 更多