<asp:HiddenField ID="HiddenField1" runat="server" />
<asp:TextBox ID="Textbox1" runat="server" Visible = "false"></asp:TextBox>
ASP.Net は可視性プロパティを false としてどのようにレンダリングasp:HiddenField
しますか?asp:TextBox
あなたの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 に変更しない限り、まったく表示されません。
「レンダリング」という用語は、.aspx ページの HTML を作成する ASP.NET の動作を指します。コントロールに Visible = false を設定すると、レンダリングされません。つまり、そのコントロールの HTML 表現がページに送信されないということです。スタイルのみを設定します。
次のようなサーバー側コードからスタイルを display: none として設定できます。
FromDate.Style.Add(HtmlTextWriterStyle.Display, "none")
このようにして、要素は JavaScript が操作できるように残ります。