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

ASP.Net は可視性プロパティを false としてどのようにレンダリングasp:HiddenFieldしますか?asp:TextBox

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

「レンダリング」という用語は、.aspx ページの HTML を作成する ASP.NET の動作を指します。コントロールに Visible = false を設定すると、レンダリングされません。つまり、そのコントロールの HTML 表現がページに送信されないということです。スタイルのみを設定します。

次のようなサーバー側コードからスタイルを display: none として設定できます。

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

このようにして、要素は JavaScript が操作できるように残ります。

于 2013-01-30T11:09:59.483 に答える