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

仪陇建设局网站p2p万能搜索引擎

仪陇建设局网站,p2p万能搜索引擎,html5开发网站,海外信息流推广怎么做原文链接#xff1a;https://blazor-university.com/forms/editcontext-fieldidentifiers-and-fieldstate/EditContext、FieldIdentifiers 和 FieldState请注意#xff0c;对于那些希望了解 Blazor 如何“在后台”工作的人来说#xff0c;这是一个高级主题。无需了解此信息即… 原文链接https://blazor-university.com/forms/editcontext-fieldidentifiers-and-fieldstate/EditContext、FieldIdentifiers 和 FieldState请注意对于那些希望了解 Blazor 如何“在后台”工作的人来说这是一个高级主题。无需了解此信息即可正常使用 Blazor - 但我觉得了解内部信息可能是有益的。让我们从描述 Blazor 如何维护表单数据的元状态的 UML 图开始。EditContext每当 EditForm.Model 更改表单中正在修改的对象时都会执行 EditForm.OnParametersSet 并创建一个新的 EditContext 实例。EditForm 组件将此 EditContext 声明为级联值[1]以便表单中的任何组件都可以访问它。EditContext 是当前正在编辑的对象的表单元数据持有者。在表单中编辑对象例如 Person时Blazor 需要了解有关该对象的其他信息以便提供更丰富的用户体验。Blazor 持有的其他信息告诉我们如果模型的特定属性已被手动更改。哪些模型属性有验证错误这些错误是什么。显然正在编辑的模型类应该只代表我们特定的业务需求因此让我们的模型类实现这些额外的用户界面状态信息将是一个关注点冲突——因此 Blazor 将这些额外信息本身存储在 EditContext 中。这就是 EditForm 在其 Model 更改时创建一个新的 EditContext 的原因因为如果 Model 更改则 EditContext 中保存的信息不再相关。FieldIdentifierFieldIdentifier 的目的是为对象的特定属性提供标识。它与 System.Reflection.PropertyInfo 不同因为它标识特定对象实例的属性而反射标识类的属性。给定一个具有名为 PostalCode 的属性的 Address 类我们可以预期以下相等规则值是否相等// 反射不同实例上的相同属性address1.GetProperty(“邮政编码”); address2.GetProperty(“邮政编码”);是// FieldIdentifier同一个实例的同一个属性new FieldIdentifier(address1, “PostalCode”); new FieldIdentifier(address1, “PostalCode”);是// FieldIdentifier不同实例上的相同属性new FieldIdentifier(address1, “PostalCode”);new FieldIdentifier(address2, “PostalCode”);否当 UI 状态例如验证错误需要与输入值相关联时我们需要某种方式来识别该状态与哪些输入数据相关。在以前的 Web 技术中通常使用字符串来标识单个输入以下是一些示例EmailAddressHomeAddress.PostalCodeWorkAddress.PostalCode一旦用户界面变得复杂这些路径可能会非常复杂。Contacts[0].NameContacts[0].ContactDetails[0].TelephoneNumberContacts[0].ContactDetails[0].EmailAddressContacts[9].ContactDetails[3].TelephoneNumberBlazor 简化了此过程因为它的设计方式允许它始终在同一进程中处理对象和属性标识。这使我们能够通过存储两条简单的信息来识别任何对象的任何属性。1.直接引用对象本身。2.该对象的属性名称。标识现在很简单并且与字符串路径不同永远不必更改以考虑数据的更改例如从数组中删除项目。例如在字符串路径方法中如果要删除列表中的第一个联系人则需要将 Contacts[9].ContactDetails[3].TelephoneNumber 更改为 Contacts[8].ContactDetails[3].TelephoneNumber。Blazor 的 ObjectReference/PropertyName 方法避免了这种复杂性。即使我们编写自己的自定义验证器与服务器对话以确定有效性例如唯一值的可用性例如 EmailAddress我们的 Blazor 验证器也会获得一个 FieldIdentifier 的实例然后可以关联来自服务器调用的结果直接使用正确对象实例的正确属性。FieldStateFieldState 类包含有关任何对象属性的附加信息。EditContext 类具有 DictionaryFieldIdentifier, FieldState 类型的私有属性 - 这使 Blazor 可以将其附加状态存储在扁平列表中以便快速访问。给定以下模型protected override OnInitialized() {var country1  new Country{Code  GB,Name  Great Britain};var address1  new Address{Line1  The Mansion,Line2  Bletchley Park,Line3  Sherwood Drive,Town  Bletchley,Area  Milton Keynes,PostalCode  MK3 6EB,Country  country1};var person1  new Person{Name  My name,Age  12,HomeAddress  address1,TelephoneNumber  44 (0) 1908 64004}; }我们希望看到如下的字段标识符注意 条目仅在需要时添加到字典中。
http://www.zqtcl.cn/news/967893/

相关文章:

  • 新闻类网站排版网站建设东莞正规网站建设
  • 网站开发亿玛酷出名5重庆公司买深圳社保
  • 网站建设开发报价单苏州网上注册公司流程
  • 网站开发包含河南洛阳网络公司
  • 个人网站建设方案书使用几号纸网站出租目录做菠菜 有什么坏处
  • 烟台做网站案例产品设计欣赏
  • 长安网站建设多少钱室内设计学校培训的
  • 驻马店北京网站建设怎么用网站做转换服务器
  • 成都网站建设cdxwcx百度搜索关键词排名优化推广
  • 框架网站怎么做o2o是什么意思的
  • 山东响应式网站网页设计素材电影
  • 新都区网站建设网站设计公司排行榜
  • 网站建设需求分析调研表建筑品牌网站
  • html5商城网站如何查询网站建设者
  • 做重视频网站教育网站改版方案
  • 小网站谁有网站上线后做什么
  • 松江网站建设培训手机网站你们
  • 荆州网站建设 众火网北京小客车指标调控管理信息系统
  • 域名和网站一样吗自己开发小程序要多少钱
  • 咨询公司网站源码手机优化软件哪个好用
  • 行业网站模板小型影视网站源码
  • 湖北网站建站系统哪家好微信小程序怎么注销账号
  • 温州网站推广公司沈阳网站建设服务电话
  • 2019年的阜南县建设修路网站洛阳哪里有做网站的
  • 家里电脑可以做网站服务器吗佛山网络公司哪家最好
  • 做网站属于无形资产还是费用网站制作二维码
  • ps为什么做不了视频网站最近做网站开发有前途没
  • 平面设计师参考网站做网站建设推广好做吗
  • 网站被别的域名绑定泰安做网站网络公司
  • 建设部网站业绩如何录入免费素材图片下载