<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:TextBox ID="Textbox1" runat="server" Visible = "false"></asp:TextBox>
ASP.Net 将如何呈现asp:HiddenField
并将asp:TextBox
可见性属性设置为 false?
在你的上下文中 html
<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:TextBox ID="Textbox1" runat="server" Visible = "false"></asp:TextBox>
text-box
不会在浏览器上呈现。
但是hidden field
会被渲染。
您从服务器端代码设置的控件可见性不会在浏览器上呈现。
你想使用使用css
display:none
它将渲染两者相同
<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>
你可以自己找出来。运行您的 .aspx 页面并单击页面上的查看源代码。
隐藏字段将包含在标记中,但您将无法在页面上直观地看到它。
TextBox 设置为从服务器端不可见。除非您将 Visible 属性更改为 true,否则它根本不会出现。
术语“渲染”是指 ASP.NET 为 .aspx 页面创建 HTML 的行为,当您将 Visible = false 设置为控件时,它不会被渲染。这意味着没有发送到页面的该控件的 HTML 表示。仅设置样式。
您可以将样式设置为 display: none 来自服务器端代码,如下所示:
FromDate.Style.Add(HtmlTextWriterStyle.Display, "none")
这样,元素仍然存在供 JavaScript 操作。