使文本框隐藏在ASP.NET中

Eti*_*nne 16 html c# asp.net

我使用的是ASP.NET 3.5和C#.

在我的页面上,我需要一个文本框,用户看不到它,但是当你查看页面源时它必须在那里,原因是,另一个名为Eloqua的程序将查看页面源并且它必须得到该文本框的值.

将根据用户选择的内容填充该文本框的值.

因此,我不能将文本框属性设置为Visible = False,因为它不会在源HTML中,我不能设置Enabled = False,因为我不希望用户看到文本框.

是否有一些属性我可以使用这个文本框隐藏给用户,但仍然可以在页面源中看到?

我的ASP.NET文本框

<asp:TextBox ID="txtTester" runat="server"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)

Qui*_*son 22

您可以使用隐藏字段.

<asp:HiddenField id="myHiddenInput" runat="server" />
Run Code Online (Sandbox Code Playgroud)

像文本框一样使用它.

  • 隐藏字段不适用于ASP.net验证程序. (4认同)

Can*_*var 11

尝试使用隐形文本框而不是服务器端Visible属性:

myTextBox.Style.Add("visibility", "hidden");
// or :
myTextBox.Style.Add("display", "none");
Run Code Online (Sandbox Code Playgroud)

  • 好吧,也许我不得不实际说出来:'背后代码' (2认同)

fyj*_*ham 8

首先想到的是:你能用隐藏的字段吗?这样会更合适(<asp:hiddenfield ID ="blah"runat ="Server"/>如果你想要一个.NET控件).

如果应用程序不会采用那个,虽然你实际上只能在页面的代码前面放置"style ='display:none;'".Intellisense不会喜欢它,但它会渲染得很好(EG:<asp:TextBox id ="txtField"style ="display:none;"runat ="server"/>)

另外从代码隐藏中你可以做txtField.Attributes.Add("style","display:none");

或者你也可以给它一个CssClass"hidden",它在你的CSS中被定义为".hidden {display:none;}"

CSS类或仅使用隐藏字段将是我的建议.