• 随手记


     .net core

    依赖注入  

    是一种设计模式 ,在类和其依赖项之间实现控制反转。


    .net core 学习路线  https://github.com/MoienTajik/AspNetCore-Developer-Roadmap/blob/master/ReadMe.zh-Hans.md


    HTTP和HTTPS协议

    参考:https://zhuanlan.zhihu.com/p/72616216

    计算机之间为了通信达成的一种规则。

    HTTP协议是超文本传输协议的缩写,英文是Hyper Text Transfer Protocol。它是从WEB服务器传输超文本标记语言(HTML)到本地浏览器的传送协议。

        基于TCP/IP通信协议来传递数据的协议

    HTTPS (HyperText Transfer Protocol over Secure Socket Layer)  HTTP+SSL/TLS

    SSL  安全套接字

    URI和URL的区别

      • URI:Uniform Resource Identifier 统一资源标识符
      • URL:Uniform Resource Location 统一资源定位符

     url 长度有限制,因而get 提交数据大小也有限制


    域名系统(英文:Domain Name System,缩写:DNS)  作为将域名和IP地址相互映射的分布式数据库, IP地址记起来不那么方便,DNS应运而生。

    动软代码生成器: bilibili 视频教程  https://www.bilibili.com/video/BV127411m7m9?p=2

    MVC

     var userInfo =@Html.Raw(Json.Encode(ViewBag.memberInfo));


    //写在Controller继承类里,用来判断用户是否登录

       /// <summary>
            ///     权限验证
            /// </summary>
            /// <param name="filterContext"></param>
            protected override void OnAuthorization(AuthorizationContext filterContext) {
                //判断是否跳过授权过滤器
                if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true)
                    || filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true))
                {
                    return;
                }
               
            }

    form 表单值传递至后台

    前台代码:

    <div>
            @using (Html.BeginForm())
            {
                <p>
                    姓名:<input type="text" name="name" />
                    <input type="submit" value="送出" />
                </p>
            }
            <form action="Home/Test" method="post">
                <p>
                    ID:<input name="name" type="text" />
                    <input type="submit" value="送出" />
                </p>
            </form>
        </div>
        <p>
            Your name :@ViewBag.Name
           Model :@Model
        </p>

    后台:

    public IActionResult Index(IFormCollection form)
            {
                ViewBag.Name = form["name"];
                ViewData.Model = form["name"];
                return View();
            }
    IFormCollection  和Request 比较类似

    传值: ViewData、 ViewBag 、TempData  

    Model :   在view视图添加     @model IEnumerable<T> 

    Tuple   .net Framework 4.0 提供  可读性不好,但是可以省下不少定制化ViewModel 类

    //在controller 判断是get还是post

       if (Request.HttpMethod.Equals("get", StringComparison.OrdinalIgnoreCase)) {
                    return View();
                }

    前端

    时间:

    new Date().toLocaleString()

    递归组合算法    [电商]商品发布规格组合算法

    var res = generateGroup([["红色", "蓝色"], ["X", "XL"], ["10m", "20m","33m"]]);
    console.log("generateGroup",res)

    //递归组合 function generateGroup(arr){ //判断二维数组长度是否大于1 //如果大于1则去递归组合,否则返回第0个数组 if(arr.length> 1){ //创建结果数组,用于保存结果 var result= new Array(); //第一个二维数组元素作为初始数组 var base= arr[0]; //删除二维数组第0个数组 arr.splice(0,1); //递归获取下一个数组 var next = generateGroup(arr); //遍历基数组 for(var i=0;i<base.length;i++){ //遍历递归获取的数组 for(var j=0;j<next.length;j++){ //组合结果放入结果数组 result.push(base[i]+","+next[j]); } } //返回结果数组 return result; }else{ //返回第0个数组元素 return arr[0]; } }

    js发送get 、post请求     参考: https://www.cnblogs.com/Im-Victor/p/9405974.html

          var httpRequest = new XMLHttpRequest();//第一步:建立所需的对象
                httpRequest.open('GET', '/ProSpec/GetAllProSpecRules', true);//第二步:打开连接  将请求参数写在url中  ps:"./Ptest.php?name=test&nameone=testone"
                httpRequest.send();//第三步:发送请求  将请求参数写在URL中
           
                  httpRequest.onreadystatechange = function () {
                //要加上这个判断,不然会访问3次 readyState三次访问的值分别为 2 3 4
                if (httpRequest.readyState == 4 && httpRequest.status == 200) {      vueAll.proSpecRuleList = httpRequest.responseText
              } };

    未分类:

    接受get传过来的参数
        function getUrlParam(k) {
            var regExp = new RegExp('([?]|&)' + k + '=([^&]*)(&|$)');
            var result = window.location.href.match(regExp);
            if (result) {
                return decodeURIComponent(result[2]);
            } else {
                return null;
            }
        }

    Request Validation in ASP.NET  

    https://docs.microsoft.com/en-us/previous-versions/aspnet/hh882339(v=vs.110)?redirectedfrom=MSDN

    必填

    lay-verify="required"

    Enum 枚举 

     TaskStatus= (TaskStatusEnum)Enum.Parse(typeof(TaskStatusEnum), taskToken.GetTokenValue("status"))

    controller 获取数据

     获取get 参数 Request.Query("")

    获取表单数据  Request.Form()

    Session数据    HttpContext.Session.SetString()

    asp.net mvc 与asp.net core mvc 区别

    asp.net 采用iis运行网站;

    .net core 不需要iis即可运行

    什么是mvc

    M:model 模型  包含业务逻辑与业务数据

    V:View  视图  呈现数据

    C:Controller  控制器 接受请求

    谁在使用 .net core 


    C# 实现十六进制Unicode编码字符串转换为汉字

     

    操作符重载

    public static ISpecification<T> operator &(ISpecification<T> first, ISpecification<T> second) {
                  return new AndSpecification<T>(first,second);
              }

    .NET Core CLI  command-line interface 

    C#  ??  含义:如果 ?? 运算符的左操作数非 null,该运算符将返回左操作数,否则返回右操作数。

    构造函数内可对readonly 字段赋值

       if (Request.HttpMethod.Equals("get", StringComparison.OrdinalIgnoreCase)) {                return View();            }

  • 相关阅读:
    bootstrap4 css源码分析
    ArcGIS使用Python脚本进行地理处理
    Geotools例子2 扩展,解析geojson文件保存为shp
    Geotools例子2,解析csv文件保存为shp
    geotool案例1,快速显示shapefile
    Postgresql+Geoserver+Openlayers+pgRouting学习1
    Python开发——7.迭代器、生成器和装饰器
    Python开发——6.文件操作
    Python开发——5.函数
    Python开发——4.集合和字符串拼接
  • 原文地址:https://www.cnblogs.com/xieweikang/p/14154650.html
Copyright © 2020-2023  润新知