FineUI 官方论坛

标题: FineUI + TagHelper 怕自己的想象力不够 [打印本页]

作者: 棕榈    时间: 2020-4-22 14:26
标题: FineUI + TagHelper 怕自己的想象力不够
本帖最后由 棕榈 于 2020-4-22 18:35 编辑

FineUI + TagHelper 怕自己的想象力不够


[attach]12402[/attach]



FineUICore 自从提供 TagHelper 功能,效率大幅提升。但 TagHelper 可想象的空间很大,不要局限于 FineUI 提供的,我们可以对其进行扩展,下面是上图中的页面代码:

  1.     <x:Form ID="form1" Title="表单" IsFluid="true"
  2.             Layout="VBox" BoxConfigChildMargin="5" BodyPadding="20"
  3.             For="@Model.UserDto">
  4.         <Tools>
  5.             <f:Tool IconFont="Save" OnClientClick="save()"></f:Tool>
  6.         </Tools>
  7.     </x:Form>
复制代码

只加了一个 For="@Model.UserDto" 属性,就完成了表单的创建,是不是很简单,下面是 UserDto 模型的代码:


  1.     public class UserDto
  2.     {
  3.         [DisplayName("编号")]
  4.         [Group("用户", GroupType = GroupType.Panel)]
  5.         public int Id { get; set; }

  6.         [DisplayName("用户名")]
  7.         [Group("用户", GroupType = GroupType.Panel)]
  8.         public string UserName { get; set; }

  9.         [DisplayName("姓")]
  10.         [Group("姓名")]
  11.         public string Surname { get; set; }

  12.         [DisplayName("名")]
  13.         [Group("姓名")]
  14.         public string Name { get; set; }

  15.         [DisplayName("手机号")]
  16.         [Group("联系方式")]
  17.         public string PhoneNumber { get; set; }

  18.         [DisplayName("邮箱地址")]
  19.         [Group("联系方式")]
  20.         public string EmailAddress { get; set; }

  21.         [DisplayName("是否启用")]
  22.         public bool IsEnabled { get; set; }

  23.         [DisplayName("创建时间")]
  24.         public DateTime CreationTime { get; set; }
  25.     }
复制代码

这里是对FineUI 的 TagHelper 进行了扩展,你通过这种方式可以实现 XAF 中通过 Attribute 进行布局的功能,甚至比它还要灵活。只要想象力够,整个页面都可以通过这种方式来实现。

在服务器端页面领域也只有微软是最用心的了,这不仅是为了推广她的产品,更多的是为了提高开发人员的效率,减少企业开发成本。我想这也是 FineUI 的初心,同时祝福 FineUI 越来越好。




项目代码到知识星球下载。














欢迎光临 FineUI 官方论坛 (https://www.fineui.com/bbs/) Powered by Discuz! X3.4