Ответ 1
Вы можете использовать скрытое поле.
<asp:HiddenField id="myHiddenInput" runat="server" />
Используйте его так же, как текстовое поле.
Я использую ASP.NET 3.5 и С#.
На моей странице мне нужно иметь текстовое поле, которое не должно быть видимым для пользователя, но оно ДОЛЖНО быть там, когда вы смотрите на источник страницы, причина в том, что другая программа под названием Eloqua будет смотреть на источник страницы, и это должен получить значение этого текстового поля.
Значение этого текстового поля будет заполнено на основе того, что пользователь выбирает.
Таким образом, я не могу установить свойство текстового поля Visible = False, потому что тогда он не будет в исходном HTML, и я не могу установить Enabled = False, потому что я не хочу, чтобы пользователь видел текстовое поле.
Есть ли какое-то свойство, которое я могу использовать, чтобы сделать это текстовое поле скрытым для пользователя, но все еще видимым в источнике страницы?
Текстовое поле ASP.NET
<asp:TextBox ID="txtTester" runat="server"></asp:TextBox>
Вы можете использовать скрытое поле.
<asp:HiddenField id="myHiddenInput" runat="server" />
Используйте его так же, как текстовое поле.
Попробуйте сделать это невидимым текстовым полем вместо серверной стороны. Видимое свойство:
myTextBox.Style.Add("visibility", "hidden");
// or :
myTextBox.Style.Add("display", "none");
Первая мысль: можете ли вы использовать скрытое поле? Это было бы гораздо более подходящим (< 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 или просто использование скрытого поля будут моими рекомендациями.
Если это поле должно быть текстовым полем по какой-либо причине, просто спрячьте его с помощью css:
<input type="text" name="blah" style="display:none" />
CSS
.hidden-div
{
display: none;
}
HTML:
<div class="hidden-div">
<input ... />
</div>
Это приведет к скрытию вашего ввода, но он будет видимым в исходном коде.
EDIT: Извините, я неправильно понял. Я думал, ты хотел скрыть вход. Но в любом случае это не имеет значения, просто замените ввод в основном чем угодно.
По умолчанию Visible = "false" на стороне сервера не будет отображаться элемент управления. Вы должны либо использовать asp:Hidden
, либо INPUT type="hidden"
. Другой вариант - использование CSS, установив display:none.
Почему бы не использовать скрытое поле:
<input type="hidden" name="blah" />
Как насчет использования CSS для скрытия div, содержащего текстовое поле:
.hidden {
position: absolute;
left: -9999px;
}
Затем на вашей странице:
<div class="hidden">
<asp:TextBox ID="TextBox1" runat="server" Text="hi"></asp:TextBox>
</div>
Надеюсь, что это поможет.