Vous savez comment les iDevices afficheront une disposition de clavier différente en fonction de la valeur HTML 5 de l'attribut type? Ainsi, <input type="email"...
affichera la disposition du clavier électronique de l'iPad. J'utilise un. TextBox mais j'aimerais que les iDevices affichent la disposition de clavier appropriée pour le champ. Mais l'attribut type est remplacé par "text" lorsque le contrôle TextBox est rendu. Des idées?Disposition du clavier de l'e-mail iPhone avec asp .net TextBox
Répondre
Pas de solution facile, mais vous pouvez créer un nouveau contrôle comme:
public EnhancedTextBox : TextBox {
public Html5Type Html5Type { get; set; }
override AddAttributesToRender(HtmlTextWriter writer) {
// add attribute according to the selected type in the property
// something like
writer.AddAttribute("type", "email");
base.AddAttributesToRender(writer);
}
}
et utiliser à la place d'une zone de texte normale
Il est également possible de mettre en œuvre pour le remplacer par "entrée < runat = 'serveur'/> "
Cependant, un problème de friandise est produite lorsque vous définissez l'entrée < runat 'serveur' = type = 'email' id = 'txtEmail'/> dans le fichier [...] .aspx à l'aide de Visual Studio 2010.
Lors de la création avec type = 'email', Visual Studio supprime une définition de variable d'instance - "protected global :: System.Web.UI.HtmlControls .HtmlInputText txtEmail; " dans le fichier [...]. aspx.designer.cs. Par conséquent, vous devez uniquement définir "< input runat = 'server' id = 'txtEmail'/>" dans [...]. Aspx. Au lieu d'ajouter l'attribut type = 'email' dans [...]. Aspx, vous pouvez fournir un attribut dans le code derrière le fichier comme suit,
txtEmail.Attributes.Add ("type", "email");
Il existe une mise à jour pour .NET Framework 4 qui vous permet de spécifier l'attribut type.
http://support.microsoft.com/kb/2468871.
Voir fonction 3 en bas la page
Feature 3
New syntax lets you define a TextBox control that is HTML5 compatible. For example, the following code defines a TextBox control that is HTML5 compatible:
<asp:TextBox runat="server" type="some-HTML5-type" />
Je viens de résoudre ce problème avec un adaptateur de commande pour < asp: TextBox >. Ajoutez cette classe quelque part dans votre projet et référencez-la à partir d'un fichier .browser dans App_Browsers. Elle vous permettra de définir le type que vous voulez pour votre contrôle d'entrée.
public class TextBoxControlAdapter : ControlAdapter
{
protected override void Render(HtmlTextWriter writer) {
var textBox = Control as WebControl;
if (textBox != null) {
var type = textBox.Attributes["type"];
if (!String.IsNullOrEmpty(type)) {
writer.AddAttribute("type", type);
}
}
base.Render(writer);
}
}
Dans App_Browsers \ AdapterMappings.browser (par exemple), ajoutez ceci:
<adapter controlType="System.Web.UI.WebControls.TextBox" adapterType="MyProject.ControlAdapters.TextBoxControlAdapter" />
Cela ajoute 'type =" email "' à la sortie rendue, mais il est toujours un autre attribut 'type' avec la valeur' "text" '. –
Il y a une solution plus. Malheureusement, tout ce qui précède nécessite un codage étendu, de nouvelles classes, l'installation de KB qui ne se met pas à jour pour l'iPhone OS 3+.
Utilisez cette option si vous souhaitez que votre téléphone pour afficher un clavier numérique pour un contrôle de zone de texte dans ASP.NET: pattern = « [0-9] * »
<asp:textbox runat="server" id="txtNumber" pattern="[0-9]*" />
Excellent - ne nécessite aucun codage et fonctionne sur asp.net framework v2.0. – GlennG
Hélas, seul un iPhone analyse le motif et restitue un clavier numérique: Android ne le fait pas. Devrait également être utilisé conjointement avec l'attribut title; mais encore une fois, ce n'est pas pris en charge sur les appareils tactiles. – GlennG
- 1. Disposition du clavier iPhone sur la webapp
- 2. Qt - Disposition du clavier
- 3. direction de disposition du clavier
- 4. Disposition du clavier iPhone pour les numéros négatifs?
- 5. Python - détecter la disposition du clavier
- 6. ASP .NET - Définition de la valeur d'un TextBox DetailsView
- 7. asp: TextBox au sein asp: table
- 8. Comment désactiver la modification de la disposition du clavier par l'utilisateur dans l'application iPhone
- 9. Localisation de la disposition du clavier à l'écran
- 10. Modification de la disposition du clavier sous Windows Mobile
- 11. Modification de la disposition du clavier pour un autre processus
- 12. .net cf TextBox qui affiche le clavier en surbrillance
- 13. Entrée de clavier d'interception utilisant la disposition de clavier actuelle
- 14. Comment modifier la disposition du clavier sous Solaris
- 15. Disposition de clavier préférée pour la programmation
- 16. Récupération de la valeur d'un ASP: TextBox
- 17. Comment changer la disposition du clavier (une solution API X11)
- 18. Séparateur décimal du clavier sur un TextBox Wpf, comment?
- 19. intégration ASP .NET 2.0 avec ASP .NET MVC 2.0
- 20. Port du serveur de développement ASP .NET
- 21. Récupérer la valeur de asp: textbox avec javascript .net 4 framework
- 22. Date d'écriture dans ASP: TextBox
- 23. Clavier Iphone
- 24. Modification de la disposition du clavier dans UITextField provoque une fuite de mémoire
- 25. Contrôle de l'état initial du clavier (et de la disposition?) Du clavier de l'iPhone depuis le formulaire Web
- 26. Autosize Text Area (Multiline asp: TextBox)
- 27. iphone sdk textbox
- 28. Grab File Upload ASP Objet Textbox Texte avec jQuery
- 29. C#, textbox, .NET
- 30. Convertir la disposition de clavier d'AZERTY à QWERTY
C'est génial, mais je une question de suivi: une fois que j'ai créé ce cours, comment l'utiliser dans mon balisage? Y a-t-il un endroit spécifique dont j'ai besoin pour placer ce code afin que mon fichier .aspx reconnaisse cette nouvelle classe? – Andrew
Essayez ceci, référencez l'assembly en haut via '<% @ Register Assembly =" ServerControl "TagPrefix =" mytag "Namespace =" ServerControl "%>' puis utilisez-le via ' ' –
Est-ce que" ServerControl "est le texte que je devrais mettre ici, ou représente-t-il autre chose? Une erreur m'indique que le système ne trouve pas ce fichier. – Andrew