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