Создание текстового поля в ASP.NET

Я использую ASP.NET 3.5 и С#.

На моей странице мне нужно иметь текстовое поле, которое не должно быть видимым для пользователя, но оно ДОЛЖНО быть там, когда вы смотрите на источник страницы, причина в том, что другая программа под названием Eloqua будет смотреть на источник страницы, и это должен получить значение этого текстового поля.

Значение этого текстового поля будет заполнено на основе того, что пользователь выбирает.

Таким образом, я не могу установить свойство текстового поля Visible = False, потому что тогда он не будет в исходном HTML, и я не могу установить Enabled = False, потому что я не хочу, чтобы пользователь видел текстовое поле.

Есть ли какое-то свойство, которое я могу использовать, чтобы сделать это текстовое поле скрытым для пользователя, но все еще видимым в источнике страницы?

Текстовое поле ASP.NET

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

Ответы

Ответ 1

Вы можете использовать скрытое поле.

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

Используйте его так же, как текстовое поле.

Ответ 2

Попробуйте сделать это невидимым текстовым полем вместо серверной стороны. Видимое свойство:

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

Ответ 3

Первая мысль: можете ли вы использовать скрытое поле? Это было бы гораздо более подходящим (< asp: hiddenfield ID = "blah" runat = "Server" / > если вы хотите использовать элемент управления .NET).

Если приложение не примет этого, хотя на самом деле вы можете просто поместить "style =" display: none; "в код-infront страницы. Intellisense не понравится, но он будет выглядеть просто отлично (EG: < asp: TextBox id =" txtField "style =" display: none; "runat =" server"/ > )

Также из кода вы можете сделать txtField.Attributes.Add( "style", "display: none" );

Или вы могли бы просто дать ему CssClass "hidden", который в вашем CSS определен как ".hidden {display: none;}"

Класс CSS или просто использование скрытого поля будут моими рекомендациями.

Ответ 5

Если это поле должно быть текстовым полем по какой-либо причине, просто спрячьте его с помощью css:

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

Ответ 6

CSS

.hidden-div
{
    display: none;
}

HTML:

<div class="hidden-div">
    <input ... />
</div>

Это приведет к скрытию вашего ввода, но он будет видимым в исходном коде.

EDIT: Извините, я неправильно понял. Я думал, ты хотел скрыть вход. Но в любом случае это не имеет значения, просто замените ввод в основном чем угодно.

Ответ 7

По умолчанию Visible = "false" на стороне сервера не будет отображаться элемент управления. Вы должны либо использовать asp:Hidden, либо INPUT type="hidden". Другой вариант - использование CSS, установив display:none.

Ответ 8

Почему бы не использовать скрытое поле:

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

Ответ 9

Как насчет использования CSS для скрытия div, содержащего текстовое поле:

.hidden {
    position: absolute;
    left: -9999px;
} 

Затем на вашей странице:

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

Надеюсь, что это поможет.