文章路径: 全部 / 叶飞 / 源栈培训:ASP.NET全栈开发 / ASP.NET / RazorPage /

微软推荐的、最新的、基于Razor页面和.NET core的新一代Web项目开发技术,包括Razor Tag Helper、Model绑定和Validation、Session/Cookie、内置依赖注入等……


更多
2020年07月16日 19点38分 作者:叶飞 修改

RazorPage:其他IActionResult:JsonResult

当JsonResult首先HttpMethod的返回值不能是void,可以是:public JsonResult OnGet() //推荐,可读性更高或者:public IActionResult OnGet()然后返回一个JsonResult实例即可:return new JsonResult(new{sname = "阿泰",age = 23,isMale = true,});JsonSerializerOptions最新的ASP.NET core版本默认(仅测试也仅能)使用System.Tex ……

Ajax Json 后台
2020年07月01日 16点05分 作者:叶飞 修改

RazorPage:复杂Model绑定:自定义类型属性 / CheckboxList

自定义类型属性很多时候,我们在PageModel中会放置一个或多个自定义类型属性(又被称之为Model) Register是一个自定义的类:public class Register{public string UserName { get; set; }public string Password { get; set; }}这样的属性是怎么被绑定赋值的?我们需要给FormData一个用点(.)分隔特殊格式的name:比如,Regiter.UserName。这样ASP.NET进行Model绑定时,会自动 ……

Model绑定 原理 checkbox
2020年02月12日 17点39分 作者:叶飞 修改

Cache:IMemoryCache/Options/ResponseCache

原理和MVC缓存:Cache 类似,除了:IMemoryCacheRazorPage需要由开发人员在Startup.cs的ConfigureServices()中以依赖注入的方式配置指定缓存中间件。比如:services.AddMemoryCache(); //内存缓存,默认services.AddDistributedMemoryCache(); //分布式内存缓存其中,MemoryCache是默认的、最简单的缓存方式,我们就以此进行讲解。然后,在PageModel的构造函数中 ……

缓存 cache
2020年02月02日 21点52分 作者:叶飞 修改

RazorPage:用Cookie实现登录

检查用户名和密码登录页面后台代码:把获取数据的任务交给UserRepository,根据UserName直接返回一个Userpublic UserModel GetLogInfo(string userName){User user = _userRepository.GetByName(userName);if (user == null){return null;}else{UserModel model = new UserModel();model.Id = user.Id;model.MD5Pa ……

源栈培训 ASP.NET 登录 cookie
2019年07月25日 16点40分 作者:叶飞 修改

RazorPage:依赖注入:Service和CurrentUser/ContextPerRequest实现

当前用户(CurrentUser) 会被大量使用,所以首先想到的就是在PageModel的基类_LayoutModel中引入public int? CurrentUserId{get{string fromSession = HttpContext.Session.GetString("UserName");if (string.IsNullOrEmpty(fromSession)){return null;}return JsonConvert.DeserializeObject<UserMode ……

源栈培训 ASP.NET 依赖注入
2020年02月10日 16点14分 作者:叶飞 修改

源栈培训:ASP.NET Core:异步async

ASP.NET Core中大量使用了asyncPageHandlerMethod:public async Task OnGetAsync()public async Task<IActionResult> OnPostAsync()Filter:线程池IIS天然多线程:一个Request一个线程(管道)异步不是多线程争议:async究竟能不能提高性能? ……

源栈培训 ASP.NET core 异步
2019年08月04日 21点28分 作者:叶飞 修改

源栈培训:ASP.NET Core:PageFilter

适用于Action或者整个Controller特性按接口可分为四种Filter:IAuthorization:Authorization: 用于验证IActionFilter:ContextPerRequestIResultFilter: IExceptionFilter:HandleError 按顺序依次执行同种Attribute,使用Order区分内置ActionFilterAttributeActionExecutingContext演示:取HttpCcontext/Controller/Actio ……

源栈培训 ASP.NET Core Filter
2020年02月06日 10点53分 作者:叶飞 修改

源栈培训:ASP.NET Core:View Component

虽然我们将LogOnStatus封装成了一个PartialView,但为了能够正常显示,我们需要在父页面准备好它的Model,这是有些麻烦的。能不能让PartialView自己生成所需的Model呢?这就需要使用:View Component。(复习:PatialView没有“后台”)使用ViewComponet,也需要“三步曲”:ViewComponent类自己声明一个类,让这个类继承ViewComponent,然后在类中添加一个Invoke()方法public class LogonStatus : ……

源栈培训 ASP.NET core View
2020年02月05日 10点00分 作者:叶飞 修改

源栈培训:ASP.NET Core:PartialView

部分页是_Layout和section以外又一个重要的Razor page重用组件partial view的查找:Partial view discovery它是默认异步(async)的可以传递Model参考:Partial Tag HelperHtml片段:重用不能直接被Http请求没有“后台逻辑” :OnGet()/OnPost()PageModel不再有用 name(路径)默认查找当我们在name里单写一个文件名:/Pages/Pages/Shared当前.cshtml文件所在文件夹指定除此以外,我 ……

ASP.NET Core PartialView
2020年02月03日 08点10分 作者:叶飞 修改

源栈培训:ASP.NET Core:Session

服务器端的Session cookie的局限:不宜存放大量数据,以免加重流量负担不宜存放敏感数据,以免泄露(应用:验证码)于是基于cookie,ASP.NET推出了session(其他 web server技术也一样):session把主要数据存放在服务器端,只把SessionID存放在cookie中来回传递服务器通过SessionId定位session中存放的数据。session一般存放在内存中,所以有时候session也被用作“缓存”,以减少数据库的请求。(通常来说,数据库是系统最大瓶颈)sessio ……

源栈培训 ASP.NET session

ASP.NET


RazorPage

微软推荐的、最新的、基于Razor页面和.NET core的新一代Web项目开发技术,包括Razor Tag Helper、Model绑定和Validation、Session/Cookie、内置依赖注入等……

MVC

过去两年间最流行的、基于.NET Framework和MVC模式的ASP.NET MVC框架,主要用于讲解安全、性能、架构和各种实战功能演示……

其他Web项目

包括WebForm和WebApi

全部
关键字



帮助

反馈