我使用的是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)
像文本框一样使用它.
Can*_*var 11
尝试使用隐形文本框而不是服务器端Visible属性:
myTextBox.Style.Add("visibility", "hidden");
// or :
myTextBox.Style.Add("display", "none");
Run Code Online (Sandbox Code Playgroud)
首先想到的是:你能用隐藏的字段吗?这样会更合适(<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类或仅使用隐藏字段将是我的建议.