码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-12-28 19:15:01      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:direct   code   equals   VID   基本   必须   下载   img   invoke   

在前面的基础上我们来添加引入我们的视图以及资源文件,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)含有界面的组件包 (三)构建界面

标签:direct   code   equals   VID   基本   必须   下载   img   invoke   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!