J'utilise ASP.NET 3.5 et C #.
Sur ma page, j'ai besoin d'une zone de texte qui ne doit pas être visible par l'utilisateur, mais DOIT y figurer lorsque vous regardez la source de la page, car un autre programme appelé Eloqua examinera la source de la page et devra obtenir le valeur de cette zone de texte.
La valeur de cette zone de texte sera renseignée en fonction de la sélection de l'utilisateur.
Par conséquent, je ne peux pas définir la propriété de zone de texte sur Visible = False, car elle ne sera pas dans le code HTML source et je ne peux pas définir Enabled = False car je ne souhaite pas que l'utilisateur voie la zone de texte.
Existe-t-il une propriété que je peux utiliser pour rendre cette zone de texte masquée pour l'utilisateur mais toujours visible dans le source de la page?
Ma zone de texte ASP.NET
<asp:TextBox ID="txtTester" runat="server"></asp:TextBox>
Vous pouvez utiliser un champ caché.
<asp:HiddenField id="myHiddenInput" runat="server" />
Utilisez-le comme une zone de texte.
Essayez ceci pour masquer la zone de texte invisible au lieu de la propriété visible côté serveur:
myTextBox.Style.Add("visibility", "hidden");
// or :
myTextBox.Style.Add("display", "none");
Première pensée: pouvez-vous utiliser un champ caché? Ce serait beaucoup plus approprié (<asp: hiddenfield ID = "blah" runat = "Server" /> si vous voulez un contrôle .NET).
Si l'application ne le prend pas, vous pouvez simplement mettre "style = 'display: none;'" dans le code en face de la page. Intellisense ne l'aimera pas, mais le rendu sera parfait (EG: <asp: TextBox id = "txtField" style = "display: none;" runat = "server" />)
Vous pouvez aussi faire txtField.Attributes.Add ("style", "display: none") à partir du code ci-dessous;
Ou vous pouvez aussi simplement lui donner un CssClass "caché" qui dans votre CSS est défini comme ".hidden {display: none;}"
La classe CSS ou tout simplement en utilisant un champ caché seraient mes recommandations.
Si ce doit être une zone de texte pour une raison quelconque, cachez-le simplement avec css:
<input type="text" name="blah" style="display:none" />
CSS:
.hidden-div
{
display: none;
}
HTML:
<div class="hidden-div">
<input ... />
</div>
Cela fera masquer votre entrée, mais elle sera visible dans le code source.
EDIT: Désolé, je l'ai mal lu. Je pensais que tu voulais cacher une entrée. Mais peu importe de toute façon, il suffit de remplacer l’entrée par pratiquement n'importe quoi.
Définir Visible = "false" côté serveur ne rendra pas le contrôle. Vous devriez soit utiliser asp:Hidden
ou INPUT type="hidden"
. Une autre option utilise CSS, en définissant display:none.
Pourquoi ne pas utiliser un champ caché:
<input type="hidden" name="blah" />
Pourquoi ne pas utiliser CSS pour masquer un div contenant la zone de texte:
.hidden {
position: absolute;
left: -9999px;
}
Puis dans votre page:
<div class="hidden">
<asp:TextBox ID="TextBox1" runat="server" Text="hi"></asp:TextBox>
</div>
J'espère que cela t'aides.
Simplement, Essayez de créer un CSS class
et attachez-le à votre TextBox
comme suit:
Style de classe CSS
<style>
.Hide {
display:none;
}
</style>
Zone de texte utilisant CssClass="Hide"
<asp:TextBox ID="txtTester" runat="server" CssClass="Hide"></asp:TextBox>
Remarque: vous ne pouvez pas utiliser la validation avec le contrôle
Hidden