当前位置: 首页 > news >正文

北京网站手机站建设公司吗wordpress禁止搜索页面

北京网站手机站建设公司吗,wordpress禁止搜索页面,青岛模板建站代理,佛山网站建设公司哪家比较好介绍开发多语言支持的ASP.NET Core 2.x Web应用程序需要大量的基础架构设置#xff0c;并且耗费时间和精力。这篇文章#xff0c;我们将使用LazZiya.ExpressLocalization nuget包一步本地化支持。背景大多数网络应用程序都是基于网址的本地化。因此我们可以在网址中看到所选的… 介绍开发多语言支持的ASP.NET Core 2.x Web应用程序需要大量的基础架构设置并且耗费时间和精力。这篇文章我们将使用LazZiya.ExpressLocalization nuget包一步本地化支持。背景大多数网络应用程序都是基于网址的本地化。因此我们可以在网址中看到所选的语言。例如http://www.example.com/en/Contact。不幸的是ASP.NET Core 仅提供一下请求语言程序。QueryStringRequestCultureProviderCookieRequestCultureProviderAcceptLanguageHeaderRequestCultureProvider为了实现路由值本地化我们需要构建自定义本地化程序并定义全局路由模版。基本上我们需要完成一下本地化步骤才能拥有完全本地化的Web应用程序。Build route value request culture providerDefine global route template for culture parameterSetup DataAnnotations localizationSetup ModelBinding error messages localizationSetup identity describer error messsagesSetup view localizationSetup client side validation scripts for validating localized number, dates, etc.Provide localized resources for each part 所有这些步骤都需要耗费大量工作和时间。因此使用LazZiya.ExpressLocalization包的好处就是通过简单的代码消除在本地化设置方面耗费的时间和精力。创建工程让我们创建一个基于ASP.NET Core 2.2 的Web应用程序我使用的是VS 2019创建一个新工程选择ASP.NET Core Web Application.点击下一步给工程一个友好的名称点击创建 选择Web应用程序并确保将身份验证更改为个人用户账户 点击创建等待解决方案创建完成。完成后可以通过解决方案资源管理器中选择项目名称来执行测试运行然后按CTRLB构建项目按CTRLW在浏览器中运行而不是调试。 安装 LazZiya.ExpressLocalization在项目名称下的解决方案资源管理器中右键单击Dependencies并选择Manage Nuget Packages 转到Browse选项卡并搜索LazZiya选择LazZiya.ExpressLocalization点击Install选择最新版本写这篇文章是最新版本为v1.1.1 它将要求安装两个软件包点击OK等待安装完成LazZiya.ExpressLocalization (required for all localization setup)LazZiya.TagHelpers (required for client side localization validation and language dropdown)创建本地化资源我已经为项目准备了本地化资源因此你不必郎芬时间来创建本地化资源。 在项目根路径创建一个新文件夹命名为“LocalizationResources”在LocalizationResources文件夹下创建个public类 名称为“ViewLocalizationResource”这个类将用于对资源文件进行分组已进行视图本地化。namespace ExpressLocalizationSample.LocalizationResources { public class ViewLocalizationResource { } }在LocalizationResources 文件夹下创建public类名称为“ExpressLocalizationResource”此类用于对identity模型绑定model binding和数据注解data annotation的分组资源文件。namespace ExpressLocalizationSample.LocalizationResources{ public class ExpressLocalizationResource { }}我们将使用这两个类将资源类型传递个快速本地化方法。最后从此存储库文件夹下载先关的语言资源文件。请注意你需要为每种语言下载两个文件例如ExpressLocalizationResource.tr.resx 和ViewLocalizationResource.tr.resx。复制下载的文件到LocalizationResources文件夹在代码中使用最后我们已经准备好进行本地化设置了。 打开startup.cs文件并添加所需的语言列表然后添加一步本地化设置var cultures new[]{ new CultureInfo(tr), new CultureInfo(ar), new CultureInfo(hi), new CultureInfo(en),};services.AddMvc() .AddExpressLocalizationExpressLocalizationResource, ViewLocalizationResource( ops { ops.ResourcesPath LocalizationResources; ops.RequestLocalizationOptions o { o.SupportedCultures cultures; o.SupportedUICultures cultures; o.DefaultRequestCulture new RequestCulture(en); }; }) .SetCompatibilityVersion(CompatibilityVersion.Version_2_2);然后在Configure方法下配置应用程序以使用请求本地化app.UseRequestLocalization();添加语言导航在Pages文件夹下打开_ViewImports.cshtml文件并添加LazZiya.TagHelpers这个有助于创建语言导航。using LazZiya.TagHelpersaddTagHelper *, LazZiya.TagHelpers打开Pages/Shared/Layout.cshtml文件并在LoginPartial 标签添加语言导航标签。partial name_LoginPartial /language-nav view-contextViewContext/language-navLanguageNav有一个必须的参数“view-context”。可以查阅有关LanguageNav tag helper资源。我们进行第一次运行运行的很好到目前为止我们的导航支持多语言但我们仍然需要本地化视图已查看本地化版本。本地化视图已下载的“ViewLocalizationResource.xx.resx”文件中已提供默认项目的本地化文本如果需要为视图添加更多自定义文本需要将它们添加到“ViewLocalizationResource.xx.resx”文件中。 打开Pages/_ViewImport.cshtml文件并注入SharedCultureLocalizer需要引用ExpressLocalization。using LazZiya.ExpressLocalizationinject SharedCultureLocalizer _loc然后打开Pages/Index.cshtml并使用文本本地化方法。pagemodel IndexModel{ ViewData[Title] _loc.Text(Home page);}div classtext-center h1 classdisplay-4_loc.Text(Welcome)/h1 p_loc.Text(Learn about a hrefhttps://docs.microsoft.com/aspnet/core building Web apps with ASP.NET Core/a)./p/div使用相同的过程来本地化其他视图中的所有文本。本地化URLs虽然页面处理默认的语言中但是如果点击PrivacyLoginReigster链接将会注意到我们丢失了所选的语言这是因为我们未将语言路由值添加到链接中。打开Pages/Index.cshtml文件添加System.Globalization的引用 usingSystem.Globalization然后打开Pages/_LoginPartial.cshtml文件在页面顶部添加一个culture参数{ var culture CultureInfo.CurrentCulture.Name;}使用此参数为所有链接提供语言路由值a classnav-link text-dark asp-areaIdentity asp-page/Account/Register asp-route-cultureculture_loc.Text(Register)/a对项目中所有的视图执行此操作。本地化身份验证视图诸如登录、注册、和配置文件等相关Identity进行搭建后才能进行修改。 右键点击项目名称选择Add -- New Scaffolded Item...选择Identity并点击Add选择Override all files并选择ApplicationDbContext点击Add后将创建一个新的域文件夹包括所有与Identity相关的视图Identity域包括三个_ViewImports文件夹Areas/Identity/Pages/_ViewImports.cshtmlAreas/Identity/Pages/Account/_ViewImports.cshtmlAreas/Identity/Pages/Account/Manage/ViewImports.cshtml 像以前对Pages/ViewImports.cshtml所做的那样将以下代码添加到所有的这些文件中using System.Globalizationusing LazZiya.TagHelpersaddTagHelper *, LazZiya.TagHelpersusing LazZiya.ExpressLocalizationinject SharedCultureLocalizer _loc像以前一样浏览修改里面的视图文件并添加上语言路径参数以下是对Register.cshtml页面的修改pagemodel RegisterModel{ ViewData[Title] _loc.Text(Register); var culture CultureInfo.CurrentCulture.Name;}h1ViewData[Title]/h1div classrow div classcol-md-4 form asp-route-returnUrlModel.ReturnUrl methodpost asp-route-cultureculture h4_loc.Text(Create a new account)./h4 hr / div asp-validation-summaryAll classtext-danger/div div classform-group label asp-forInput.Email/label input asp-forInput.Email classform-control / span asp-validation-forInput.Email classtext-danger/span /div div classform-group label asp-forInput.Password/label input asp-forInput.Password classform-control / span asp-validation-forInput.Password classtext-danger/span /div div classform-group label asp-forInput.ConfirmPassword/label input asp-forInput.ConfirmPassword classform-control / span asp-validation-forInput.ConfirmPassword classtext-danger/span /div button typesubmit classbtn btn-primary_loc.Text(Register)/button /form /div/divsection Scripts { partial name_ValidationScriptsPartial /}本地化DataAnnotations如果你运行页面并执行一些无效的输入你会发现验证消息是英文的因此我们需要本地化数据注释消息如Required、StringLength等。打开Areas/Identity/Pages/Account/Register.cshtml.cs文件并在顶部添加LazZiya.ExpressLocalization.Messages的引用它包含所有DataAnnotations错误消息的预定义结构以便于使用 usingLazZiya.ExpressLocalization.Messages;然后修改输入模型如下所示public class InputModel{ [Required(ErrorMessage DataAnnotationsErrorMessages.RequiredAttribute_ValidationError)] [EmailAddress(ErrorMessage DataAnnotationsErrorMessages.EmailAddressAttribute_Invalid)] [Display(Name Email)] public string Email { get; set; } [Required(ErrorMessage DataAnnotationsErrorMessages.RequiredAttribute_ValidationError)] [StringLength(100, ErrorMessage DataAnnotationsErrorMessages.StringLengthAttribute_ValidationErrorIncludingMinimum, MinimumLength 6)] [DataType(DataType.Password)] [Display(Name Password)] public string Password { get; set; } [DataType(DataType.Password)] [Display(Name Confirm password)] [Compare(Password, ErrorMessage DataAnnotationsErrorMessages.CompareAttribute_MustMatch)] public string ConfirmPassword { get; set; }}编译并允许项目将看到本地化数据注释的错误消息客户端验证服务器端验证工作正常但是我们仍然需要添加客户端验证因此在提交表单之前将在客户端验证输入字段。 客户端验证的一个主要问题就是验证数字、日期等本地化输入。例如如果你使用小数输入你讲看到1.3的本地化数字验证在英文中有效但是对土耳其语无效因为它应为1,3(逗号而不是句点 在这里我们将使用LazZiya.TagHelpers附带的另一个有用的tag helper。 打开Register.cshtml页面并在默认验证脚本partial下添加 tag helper。section Scripts { partial name_ValidationScriptsPartial / localization-validation-scripts/localization-validation-scripts}这就是全部现在将在使用本地化验证消息提交表单之前验证字段。示例项目你可以从Github下载包含超过19种语言包的示例项目https://github.com/LazZiya/ExpressLocalizationSample参考在这里阅读有关使用nuget包的更多详细信息LazZiya.TagHelpersManually installing client side localization validation scriptsManually creating language drop down navigationEven more can be found on my website http://ziyad.info原文地址https://www.codeproject.com/Articles/5061604/Developing-Multicultural-ASP-NET-Core-2-x-Project注原创声明为翻译原创.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/426330/

相关文章:

  • 广告联盟怎么建设网站做贸易 公司网站放哪里
  • 北京建设局网站首页开发游戏用什么软件
  • 做淘宝客网站能接广告吗网站悬浮二维码
  • 重庆自助建站模板网站建设juxinghulian
  • 优惠券网站怎么搭建宝安中心区规划
  • 网站建设中怎么添加源码会计常用的三个软件
  • vk汉化网站谁做的购物网站设计公司
  • 门户网站建设平台建设招标项目常挂网站有哪些
  • 公司海外网站建设龙海市城乡规划建设局网站
  • 温州哪里做网站设计seo报名在线咨询
  • 四川住房和城乡建设厅进不去网站网站专题方案
  • 企业网站维护服务做网站设计都需要什么软件
  • jsp电商网站开发教程盐城网站建设制作
  • 企业解决方案网站做企业官网多少钱
  • 宁波网站建设哪家比较好怎麽做网站
  • 诸塈市建设局网站做移动网站开发
  • 南京建站公司网站网站视频源码地址
  • 德阳建设局网站做公众号首图的网站
  • 南阳网站优化渠道山西太原最新消息
  • 发布做网站需求qq群centos wordpress 建站教程
  • 东阳网站建设yw126南京网站改版
  • discuz视频网站模板徐州专业网站建设公司哪家好
  • 网站开发投资成本Wordpress显示成缩略图
  • 网站域名和网站网址吗中东跨境电商平台有哪些
  • 常宁市城乡和住房建设网站怎样加强文化建设
  • 视频网站如何做营销策划模板网站 seo
  • 中企动力做网站好吗网页建设软件
  • 爱站网seo浙江省嘉兴市建设局网站
  • 南宁做网站比较好的公司有哪些贵阳网站上门备案业务
  • 网络叶子 网站推广做一手房做那个网站好