首页 > Web开发 > 详细

.NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面

时间:2018-12-28 19:03:54      阅读:177      评论:0      收藏:0      [点我收藏+]

在前面的基础上我们来添加引入我们的视图以及资源文件,Resource 用来放我们的资源文件 js css等,Views用来放我们的视图cshtml页面,这里需要注意的是 这个采用razorview来编译的视图文件夹的名称必须为 Views

技术分享图片

我准备了下载了一套后台管理的界面并添加进去了

技术分享图片

这个时候就需要用到我们的DotNetCliTool工具了

使用命令操作 生成 视图对应的页面类

dotnet razorpagegenerator IdentityServer4.AdminChina

技术分享图片

这个类是根据cshtml页面内容生成的 ,在前面的基础上,来改一改中间件的处理方式,修改下中间件的方法,来处理HomeIndex页面类视图

 public async Task Invoke(HttpContext context)
        {
            string routeUrl = context.Request.Path;
            if (routeUrl.Equals(_options.PathRoute))
            {
                var view = new HomeIndex();
                await view.ExecuteAsync(context);

            }
            else
            {
                await _next(context);
            }
}

当然这样做还是不行的,资源文件的路径问题还没有处理,这里需要对嵌入的资源文件处理,这里需扩展的UseAdminChina做一些处理,关于文件路径这块可以参考UseStaticFiles、FileServerExtensions相关

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/file-providers?view=aspnetcore-2.1

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-2.1&tabs=aspnetcore2x

 var dllPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "IdentityServer4.AdminChina.dll");
            app.UseFileServer(new FileServerOptions
            {
                FileProvider = new ManifestEmbeddedFileProvider(Assembly.LoadFrom(dllPath), "Resource"),
            });

因为前面我已经配置过类库的工程文件了,所以这里就不说了

直接运行看效果

技术分享图片

到这里我们的一个页面就基本成型了,类库中的资源文件也已经加载出来了小图标、js效果等,当然这还是不够,我们还需要更多的功能,比如添加自定义的权限过滤,就想hangfire一样,后面继续来说

.NetCore 下开发独立的(RPL)含有界面的组件包 (三)构建界面

原文:https://www.cnblogs.com/liyouming/p/10192269.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!