


asp.net MaxLengthValidator code de contrôle de validation de longueur maximale
/// <summary> /// TextBox的最大长度验证器,如果是varchar,char字段类型,需要此验证 /// </summary> [Description("对MaxLength进行验证")] [ToolboxData("<{0}:MaxLengthValidator runat=server></{0}:MaxLengthValidator>")] public class MaxLengthValidator : BaseValidator { /// <summary> /// 获取或设置是否为非nvarchar,nchar字段验证 /// </summary> [DefaultValue(true)] public bool ValidateForNonNationalField { get { var data = this.ViewState["ValidateForNonNationalField"]; if (data == null) { return true; } else { return (bool)data; } } set { this.ViewState["ValidateForNonNationalField"] = value; } } /// <summary> /// 构造函数 /// </summary> public MaxLengthValidator() { this.ValidateForNonNationalField = true; } protected override bool EvaluateIsValid() { var targetControlName = this.ControlToValidate; if (targetControlName == null) { //没有目标验证控件,验证通过 return true; } var targetControl = this.NamingContainer.FindControl(targetControlName) as TextBox; if (targetControl == null) { //目标控件不是文本框或不存在,验证通过 return true; } var maxLength = targetControl.MaxLength; var targetValue = this.GetControlValidationValue(targetControlName); var targetLength = 0; if (string.IsNullOrEmpty(targetValue)) { targetLength = 0; } else { if (this.ValidateForNonNationalField) { targetLength = this.GetLengthForNonNationnal(targetValue); } else { targetLength = targetValue.Length; } } return targetLength <= maxLength; } /// <summary> /// 获得保存为Varchar时,text的长度 /// </summary> /// <param name="text"></param> /// <returns></returns> public virtual int GetLengthForNonNationnal(string text) { if (string.IsNullOrEmpty(text)) { return 0; } var length = 0; for (var i = 0; i < text.ToCharArray().Length; i++) { var charCode = (int)text[i]; length++; if (charCode > 255) { length++; } } return length; } protected override void AddAttributesToRender(HtmlTextWriter writer) { base.AddAttributesToRender(writer); if (this.RenderUplevel) { writer.AddAttribute("TargetControlID", this.GetControlRenderID(this.ControlToValidate)); writer.AddAttribute("ValidateForNonNationalField", this.ValidateForNonNationalField ? "true" : "false"); writer.AddAttribute("evaluationfunction", "MaxLengthValidator_Validate"); var targetControl = this.NamingContainer.FindControl(this.ControlToValidate) as TextBox; if (targetControl != null) { var maxLength = targetControl.MaxLength; writer.AddAttribute("maxlength", maxLength.ToString()); } } } protected override void OnPreRender(EventArgs e) { var script = @" function MaxLengthValidator_GetNonNationalLength(text) { if (!text){ return 0; } var length = 0; for (var i = 0; i < text.length; i++) { var charCode = text.charCodeAt(i); length++; if (charCode > 255) { length++; } } return length; } function MaxLengthValidator_Validate(val) { if (!val) { return true; } var targetID = val.TargetControlID; if (!targetID) { return true; } var nonNational = val.ValidateForNonNationalField; if (!nonNational) { return true; } var target = document.getElementById(targetID); if (!target) { return true; } var maxLength = val.maxlength; if (!maxLength || isNaN(maxLength)) { return true; } var targetValue = target.value; if (!targetValue) { return true; } var realLength = targetValue.length; if (nonNational == 'true') { realLength = MaxLengthValidator_GetNonNationalLength(targetValue); } return realLength <= parseInt(maxLength); }"; ScriptManager.RegisterClientScriptBlock(this, typeof(MaxLengthValidator), "MaxLengthValidator_Validate", script, true); base.OnPreRender(e); } }
Pour plus d'articles sur le code de contrôle de validation de longueur maximale asp.net MaxLengthValidator, veuillez faire attention au site Web PHP chinois !

C # .NET est une puissante plate-forme de développement qui combine les avantages du langage C # et du framework .net. 1) Il est largement utilisé dans les applications d'entreprise, le développement Web, le développement de jeux et le développement des applications mobiles. 2) Le code C # est compilé dans un langage intermédiaire et est exécuté par l'environnement d'exécution .NET, prenant en charge la collecte des ordures, les requêtes de sécurité de type et Linq. 3) Les exemples d'utilisation comprennent la sortie de la console de base et les requêtes LINQ avancées. 4) Les erreurs courantes telles que les références vides et les erreurs de conversion de type peuvent être résolues via les débogueurs et la journalisation. 5) Les suggestions d'optimisation des performances comprennent la programmation asynchrone et l'optimisation des requêtes LINQ. 6) Malgré la concurrence, C # .NET conserve sa position importante grâce à l'innovation continue.

Les tendances futures de C # .NET sont principalement axées sur trois aspects: le cloud computing, les microservices, l'intégration de l'IA et de l'apprentissage automatique et le développement de la plate-forme multiples. 1) Cloud Computing and Microservices: C # .NET optimise les performances de l'environnement cloud via la plate-forme Azure et prend en charge la construction d'une architecture de microservice efficace. 2) Intégration de l'IA et de l'apprentissage automatique: à l'aide de la bibliothèque ML.NET, les développeurs C # peuvent intégrer des modèles d'apprentissage automatique dans leurs applications pour promouvoir le développement d'applications intelligentes. 3) Développement multiplateforme: via .NETCORE et .NET5, les applications C # peuvent s'exécuter sur Windows, Linux et MacOS, élargissant la portée de déploiement.

Les derniers développements et meilleures pratiques en matière de développement C # .NET incluent: 1. La programmation asynchrone améliore la réactivité de l'application et simplifie le code non bloquant en utilisant des mots clés asynchronisés et attend; 2. Linq fournit des fonctions de requête puissantes, manipulant efficacement les données par l'exécution retardée et les arbres d'expression; 3.

Comment créer des applications en utilisant .NET? La création d'applications à l'aide de .NET peut être réalisée via les étapes suivantes: 1) Comprendre les bases de .NET, y compris le langage C # et le support de développement multiplateforme; 2) Apprenez des concepts de base tels que les composants et les principes de travail de l'écosystème .NET; 3) Master Utilisation de base et avancée, des applications de console simples aux opérations de webapis et de base de données complexes; 4) familiariser avec les erreurs courantes et les techniques de débogage, telles que les problèmes de configuration et de connexion de la base de données; 5) L'optimisation des performances de l'application et les meilleures pratiques, telles que la programmation et la mise en cache asynchrones.

C # est largement utilisé dans les applications au niveau de l'entreprise, le développement de jeux, les applications mobiles et le développement Web. 1) Dans les applications au niveau de l'entreprise, C # est souvent utilisé pour ASP.Netcore pour développer une webapi. 2) Dans le développement du jeu, C # est combiné avec le moteur Unity pour réaliser le contrôle des rôles et d'autres fonctions. 3) C # prend en charge le polymorphisme et la programmation asynchrone pour améliorer la flexibilité du code et les performances de l'application.

C # et .NET conviennent au développement Web, de bureau et mobile. 1) Dans le développement Web, ASP.Netcore prend en charge le développement multiplateforme. 2) Le développement de bureau utilise WPF et WinForms, qui conviennent à différents besoins. 3) Le développement mobile réalise les applications multiplateformes via Xamarin.

L'écosystème C # .NET fournit des frameworks et bibliothèques riches pour aider les développeurs à créer efficacement les applications. 1.asp.netcore est utilisé pour créer des applications Web haute performance, 2.EntityFrameWorkcore est utilisé pour les opérations de base de données. En comprenant l'utilisation et les meilleures pratiques de ces outils, les développeurs peuvent améliorer la qualité et les performances de leurs applications.

Comment déployer une application C # .net sur Azure ou AWS? La réponse est d'utiliser AzureAppService et AwselasticBeanStalk. 1. Sur Azure, automatiser le déploiement à l'aide d'AzureAppService et AzurePipelines. 2. Sur AWS, utilisez Amazon ElasticBeanStalk et Awslambda pour implémenter le déploiement et le calcul sans serveur.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code
