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

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

4

4 回答 4

1

在你的上下文中 html

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

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

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

于 2013-01-30T11:00:38.343 回答
1

它将渲染两者相同

<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>
于 2013-01-30T11:02:17.960 回答
0

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

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

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

于 2013-01-30T11:03:16.690 回答
0

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

您可以将样式设置为 display: none 来自服务器端代码,如下所示:

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

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

于 2013-01-30T11:09:59.483 回答