C# 在ASP.NET中隐藏文本框

C# 在ASP.NET中隐藏文本框,c#,html,asp.net,C#,Html,Asp.net,我正在使用ASP.NET 3.5和C# 在我的页面上,我需要有一个文本框,该文本框必须对用户不可见,但当您查看页面源时,它必须在那里,原因是,另一个名为Eloqua的程序将查看页面源,它必须获取该文本框的值 该文本框的值将根据用户选择的内容填充 因此,我无法将文本框属性设置为Visible=False,因为这样它就不会出现在源HTML中,也无法将Enabled=False设置为Enabled=False,因为我不希望用户看到文本框 是否有一些属性可用于使此文本框对用户隐藏,但在页面源中仍然可见

我正在使用ASP.NET 3.5和C#

在我的页面上,我需要有一个文本框,该文本框必须对用户不可见,但当您查看页面源时,它必须在那里,原因是,另一个名为Eloqua的程序将查看页面源,它必须获取该文本框的值

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

因此,我无法将文本框属性设置为Visible=False,因为这样它就不会出现在源HTML中,也无法将Enabled=False设置为Enabled=False,因为我不希望用户看到文本框

是否有一些属性可用于使此文本框对用户隐藏,但在页面源中仍然可见

我的ASP.NET文本框

<asp:TextBox ID="txtTester" runat="server"></asp:TextBox>

您可以使用隐藏字段

<asp:HiddenField id="myHiddenInput" runat="server" />


像文本框一样使用它。

为什么不使用隐藏字段:

<input type="hidden" name="blah" />

尝试此操作以创建不可见的文本框,而不是服务器端可见属性:

myTextBox.Style.Add("visibility", "hidden");
// or :
myTextBox.Style.Add("display", "none");

第一个想法:你能使用隐藏字段吗?这将更合适(如果您想要一个.NET控件)

如果应用程序不接受这一点,您实际上可以将“style='display:none;'”放在页面前面的代码中。Intellisense不会喜欢它,但它会渲染得很好(例如:)

也可以从codebehind中执行txtField.Attributes.Add(“style”,“display:none”)

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


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

如果出于任何原因它必须是文本框,请使用CSS将其隐藏:

<input type="text" name="blah" style="display:none" />

CSS:

.hidden-div
{
    display: none;
}
<div class="hidden-div">
    <input ... />
</div>
HTML:

.hidden-div
{
    display: none;
}
<div class="hidden-div">
    <input ... />
</div>

这会导致你的输入被隐藏,但在源代码中是可见的


编辑:对不起,我看错了。我以为你想隐藏一个输入。但不管怎样,只要用基本上任何东西替换输入即可。

使用CSS隐藏包含文本框的div如何:

.hidden {
    position: absolute;
    left: -9999px;
} 
然后在您的页面中:

<div class="hidden">
    <asp:TextBox ID="TextBox1" runat="server" Text="hi"></asp:TextBox>
</div>


希望这有帮助。

通过在服务器端设置Visible=“false”将不会呈现控件。您应该使用
asp:Hidden
INPUT type=“Hidden”
。另一个选项是使用CSS,通过设置
显示:无。

简单地说,尝试创建
CSS类
,并将其附加到
文本框
,如下所示:

CSS类样式

<style>
    .Hide {
        display:none;
    }
</style>
注意:您不能对
隐藏的
控件使用验证


因为我使用的是ASP.NET,所以我不能指定类型显示:没有可能是您想要的。能见度隐藏会在他的形态中间留下一个缺口。愚蠢的错误,抱歉。编辑:)这忽略了“隐藏”的概念,并让任何代码读取器认为存在错误。隐藏字段无法获取/设置codebutt中的文本;所以,这是一条路要走(可能是指:)@BenMcIntyre,那么原来的句子是“隐藏字段无法在codeass中获取/设置文本”?哈哈哈哈哈,也许我真的要说:‘代码隐藏’这解决了我的问题,因为某种原因,隐藏字段中的文本无法检索。所以我需要隐藏文本框。如果你需要事件,这将不起作用。隐藏字段不会触发更改事件。