C#学习笔记—.Net Core

目录

一、基础篇

1.新建.Net Core项目

2.ASP.Net Core目录结构

3.常见的命名法

4.Hello,World!

5.运算符

6. 运算符练习

7.if...else语句

二、进阶篇

1.Ajax传值

2.SQL server数据库的连接


一、基础篇

1.新建.Net Core项目

新建>>项目>>选择C#语言>>选择ASP.NET Core Web应用程序>>Web应用程序(模型视图控制器)

2.ASP.Net Core目录结构

目录文件说明
依赖项ASP.NET Core 开发、构建和运行过程中的依赖项,一般都是 NuGet 包和一些 SDK
Properties配置,存放了一些 .json 文件用于配置 ASP.NET Core 项目
Propertics/launchSettings.json启动配置文件,为一个 ASP.NET Core 应用保存特有的配置标准,用于应用的启动准备工作,包括环境变量,开发端口等
Controllers类的存放目录
Views视图的存放目录
wwwroot网站根目录,存放类似于 CSS、JS 和图片、还有 HTML 文件等静态资源文件的目录
Program.cs这个文件包含了 ASP.NET Core 应用的 Main 方法,负责配置和启动应用程序
Startup.cstartup.cs 文件是 ASP.NET Core 的项目的入口启动文件

3.常见的命名法

1)驼峰命名法

小驼峰命名法:除第一个单词之外,其他单词首字母大写,例如:myFirstNamemyLastName。常用于变量名,函数名。

大驼峰命名法(又称为帕斯卡命名法):相比小驼峰法,大驼峰法把第一个单词的首字母也大写了,例如:public class DataBaseUser。常用于类名,属性,命名空间等。

2)下划线命名法

名称中的每一个逻辑断点都用一个下划线来标记,例如:print_employee。下划线命名法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。

3)匈牙利命名法

其基本原则是,变量名=属性+类型+对象描述。通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域,类型等。

这些符号可以多个同时使用,顺序是先m_(成员变量),再指针,再简单数据类型,再其他。例如:m_lpsStr,表示指向一个字符串的长指针成员变量。

4.Hello,World!

 新建一个.Net Core项目>>在Controllers目录中添加控制器类>>名称为HelloWorldController.cs

在实例化对象中新建一个数据>>右击实例化对象>>添加视图

using Microsoft.AspNetCore.Mvc;// 引用命名

//命名空间

// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace WebApplication4.Controllers
{
    public class HelloWorldController : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()//实例化对象
        {
            ViewData["Text"] = "Hello,World";//创建名为Text的数据
            return View();
        }
    }
}

 在视图中调用数据 

<!--调用数据-->
<h2>@ViewData["Text"]</h2>

调试,在你的域名后面添加/HelloWorld进入到HelloWorld目录

5.运算符

运算符描述
+把两个操作数相加
-从第一个操作数中减去第二个操作数
*把两个操作数相乘
/分子除以分母
%取模运算符,整除后的余数
++

自增运算符,整数值增加 1

--自减运算符,整数值减少 1

6. 运算符练习

获取数字的个位,十位,百位,千位

using Microsoft.AspNetCore.Mvc;

// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace WebApplication4.Controllers
{
    public class HelloWorldController : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()
        {
            int Num = 1024;
            ViewData["Num"] = Num;
            ViewData["qianwei"] = "千位:" + Num / 1000;
            ViewData["baiwei"] = "百位:" + Num / 100 % 10;
            ViewData["shiwei"] = "十位:" + Num / 10 % 10;
            ViewData["gewei"] = "个位:" + Num % 10;
            return View();
        }
    }
}
<!--调用数据-->
    <h1>数字
        @ViewData["Num"]的
    </h1>
    <h2>@ViewData["qianwei"]</h2>
    <h2>@ViewData["baiwei"]</h2>
    <h2>@ViewData["shiwei"]</h2>
    <h2>@ViewData["gewei"]</h2>

7.if...else语句

比较两个数大小

using Microsoft.AspNetCore.Mvc;

// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace ifelse.Controllers
{
    public class ifelse : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()
        {
            int Num1 = 10;
            int Num2 = 20;
            if (Num1 > Num2)
            {

                ViewData["ifNum"] = Num1 + "比" + Num2 + "大";
            }
            else if (Num1 < Num2)
            {
                ViewData["ifNum"] = Num1 + "比" + Num2 + "小";
            }
            else {
                ViewData["ifNum"] = Num1 + "等于" + Num2;
            };
            return View();
        }
    }
}

二、进阶篇

1.Ajax传值

使用Ajax把值传到控制层再返回结果

js代码

function ajax() {
    var Num = document.getElementById("Num").value;
    if (Num != "") {
        var information = JSON.stringify({
            num: Num
        });
    }
    var xhr = new XMLHttpRequest;//创建一个 XMLHttpRequest 对象,XMLHttpRequest是实现ajax的基础
    xhr.open("POST", "/Ajax/AjaxAsync", true)//请求方式为"Post","/Home/Index"为服务器地址(在MVC这里就是控制器地址+方法名),true表示选择异步
    xhr.setRequestHeader("Content-type", "application/json")//设置请求参数类型
    xhr.send(information);
    //返回
    xhr.onreadystatechange = function () {
        if (xhr.readyState == 4 && xhr.status == 200) {
            var a = xhr.responseText;
            document.getElementById("Alert").innerHTML = JSON.parse(a).result;
        }
    }
}

C#代码

using Microsoft.AspNetCore.Mvc;

// For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860

namespace Ajax传值.Controllers
{
    public class AjaxController : Controller
    {
        // GET: /<controller>/
        public IActionResult Index()
        {
            return View();
        }
        public IActionResult AjaxAsync([FromBody]Model model)
        {
            if (model != null)
            {
                string Num = model.num;
                ViewData["Num"] = Num;
                return Json(new { result = "你输入是数字是:" + Num });
            }
            else
            {
                return Json(new { result = "你没有输入数字" });
            }
        }

        public class Model
        {
            public string num { get; set; }
        }
    }
}

视图代码

<script src="~/js/ajax.js"></script>/
<div class="container">
    <a id="Alert"></a><br />
    输入一个数字:
    <input type="text" id="Num" />
    <button id="sumbit" onclick="ajax()">确定</button>
</div>

2.SQL server数据库的连接

连接数据库,通过sql语句进行数据查询(如何安装使用数据库,主页有单独文章)

在appsettings.json插入以下内容实现数据库连接

 "ConStr": "Data Source=服务器名称;database=数据库名称;uid=账号;pwd=密码",

完整代码

{
   "ConStr": "Data Source=服务器名称;database=数据库名称;uid=账号;pwd=密码",
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

通过Startup.cs的ConfigureServices对象中插入以下内容可以实现调用appsettings.json内容

HomeController.ConStr = Configuration["ConStr"].Trim();//HomeController是你的类名

完整对象代码

public void ConfigureServices(IServiceCollection services)
        {
            HomeController.ConStr = Configuration["ConStr"].Trim();

            services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });


            services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        }

 在class类中引入ConStr常量,位置如下

public class HomeController : Controller
    {
        public static string ConStr { set; get; }

创建一个SQL语句变量

string sql = string.Format("select * from [{0}] where username like '%" + 查询的内容 + "%'", "数据表名");//where后面是是列名,“%”表示模糊查询

剩下的代码如下

connection.Open();//打开数据库

SqlCommand cmd = new SqlCommand(sql, connection);//SQL语句调用

SqlDataReader sdr = cmd.ExecuteReader();//从数据库中读取数据

string username = sdr["列名"].ToString();//创建一个变量存放数据

ViewBag.db = username;//把数据存到ViewBag.db里面,前端可以直接调用输出

connection.Close();//关闭数据库

视图代码输出

<h2>@ViewBag.db</h2>

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值