一.说明

此文是小白在学习张晨光老师的视频教学<<Asp.Net WEB服务器编程技术>>中做的学习笔记,一些知识点也是跟着教程走的,大家也可以去老师的主页去学习,谢谢大家.

这一篇要练习的是,如下课程的代码:

asp.net 调用json接口开发 asp.net ui_Web

二.三层

  • UI层(UIL): 主要用于存放与用户交互的展示页面;(网页部分) –顾客
  • 业务逻辑层(BLL): 主要用于存放针对具体问题对数据进行逻辑处理的代码(处理用户请求的类库) –服务员
  • 数据访问层(DAL):主要用于存放对原始数据进行操作的代码,它封装了所有与数据库交互的操作,并为业务逻辑层提供数据服务.(存取数据, 供BLL调用的本质类库) –厨师

三.创建’顾客’

在我们的新建项目中,添加web项目:

asp.net 调用json接口开发 asp.net ui_System_02


并创建web窗体:WebForm1.asxp,并填入一下内容:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="MVC_Test.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        菜名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        数量:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="提交" />
    </form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;//我们定义的'业务逻辑层'

namespace MVC_Test
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        /// <summary>
        /// 按钮提交事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Button1_Click(object sender, EventArgs e)
        {
        	//在按钮点击后,我们new 一个Waiter对象
            Waiter wt = new Waiter();
            //然后调用方法,传参
            wt.inVeg(TextBox1.Text,Convert.ToInt32(TextBox2.Text));
        }
    }
}

四.创建’服务员’

创建类库:

右击 ‘解决方案’ > 添加 > 新建项目 > 选择 ‘类库(.NET Framework)’ > 下一步

asp.net 调用json接口开发 asp.net ui_asp.net 调用json接口开发_03

asp.net 调用json接口开发 asp.net ui_asp.net 调用json接口开发_04


然后在BLL中新建类,Waiter.cs,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DAL;//引用'厨师'

namespace BLL
{
    /// <summary>
    /// 服务员传递参数
    /// </summary>
    public class Waiter
    {
    	//new 一个厨师
        Cook ck = new Cook();
        //点菜 结账
        public void inVeg(string name , int num) {
            ck.inVeg(name,num);
        }
    }
}

服务员准备就位,那么便要与客户交互,所以我们

asp.net 调用json接口开发 asp.net ui_asp.net_05

在页面层项目 > 右击引用 > 添加引用

asp.net 调用json接口开发 asp.net ui_Web_06


然后在WebForm1.asxp.cs里引用服务员

using BLL;

然后调用其方法(上面的WebForm1.asxp.cs中已经写入)

//在按钮点击后,我们new 一个Waiter对象
Waiter wt = new Waiter();
//然后调用方法,传参
wt.inVeg(TextBox1.Text,Convert.ToInt32(TextBox2.Text));

五.雇佣’厨师’

用相同的方法创建DAL类库,并创建Cook.cs,填入如下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ToolDBSQL;//这里引用数据库类


namespace DAL
{
    public class Cook
    {
        //点菜 结账
        public void inVeg(string name, int num)
        {
            //连接数据库,操作表
            string sql = string.Format( @"insert into menu values('{0}',{1},'{2}')",name,num,DateTime.Now);
            int a =MyDB.execuSql(sql);
        }
    }
}

厨师准备就位,那么便要与服务员交互,所以我们

asp.net 调用json接口开发 asp.net ui_asp.net 调用json接口开发_07

asp.net 调用json接口开发 asp.net ui_asp.net 调用json接口开发_08

然后在Waiter.cs里引用厨师

using DAL;//引用'厨师'

然后调用其方法(上面的Waiter.cs中已经写入)

//new 一个厨师
Cook ck = new Cook();
//点菜 结账
public void inVeg(string name , int num) {
	ck.inVeg(name,num);
}

六.制作’食材’

用相同的方法创建ToolDBSQL类库,并创建MyDB.cs,填入如下代码:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using MySql.Data.MySqlClient;

namespace ToolDBSQL
{
    public class MyDB
    {
        public static string DataBase = ConfigurationManager.ConnectionStrings["Conn_example"].ToString();

        static MySqlConnection conn = new MySqlConnection(DataBase);

        //增删改的方法
        public static int execuSql(String sql)
        {
            conn.Open();//打开
            MySqlCommand cmd = conn.CreateCommand();
            cmd.CommandText = sql;//执行外部传入的sql语句

            int result = -1;//返回值,默认为-1

            //执行语句,并将返回值赋值
            try
            {
                result = cmd.ExecuteNonQuery();
            }
            finally
            {
                //各种关闭
                cmd.Dispose();
                conn.Close();
            }

            //返回此项返回值
            return result;
        }
    }
}

Web.config加入如下连接数据库代码:

<connectionStrings>
	<add name="Conn_example" connectionString="Database='example';Data Source='127.0.0.1';User Id='root';Password='xxxxxx';charset='utf8';pooling=true"/>
</connectionStrings>

食材准备就位,那么便要与厨师交互,所以我们:

asp.net 调用json接口开发 asp.net ui_System_09


asp.net 调用json接口开发 asp.net ui_asp.net_10


然后在Cook.cs里引用食材

using ToolDBSQL;//这里引用数据库类

然后调用其方法(上面的Cook.cs中已经写入)

//连接数据库,操作表
string sql = string.Format( @"insert into menu values('{0}',{1},'{2}')",name,num,DateTime.Now);
int a =MyDB.execuSql(sql);