当前位置: 首页 > wzjs >正文

校园网站建设网站建立网站需要什么

校园网站建设网站,建立网站需要什么,百度域名提交收录网址,北京哪里有做网站的asp.net web api EF SQLiteReact前端框架 设计一个首页面,包含三个按钮分别对应三类用户(数据查看,设计人员,管理员),当点击管理员的时候弹出一个前端页面可以输入信息(以学生数据为例&#…

asp.net web api + EF + SQLite+React前端框架

设计一个首页面,包含三个按钮分别对应三类用户(数据查看,设计人员,管理员),当点击管理员的时候弹出一个前端页面可以输入信息(以学生数据为例),提交之后后端存储数据库。当点击数据查看的时候,能够看到管理员录入的所有的学生数据。


1. 后端部分 (ASP.NET Web API + EF + SQLite)

1.1 创建 ASP.NET Web API 项目
  1. 使用 Visual Studio 或 .NET CLI 创建一个新的 ASP.NET Web API 项目:

    dotnet new webapi -n StudentManagementApi
    cd StudentManagementApi
    
  2. 安装必要的 NuGet 包:

    dotnet add package Microsoft.EntityFrameworkCore
    dotnet add package Microsoft.EntityFrameworkCore.Sqlite
    dotnet add package Microsoft.EntityFrameworkCore.Tools
    
1.2 配置 SQLite 数据库和 EF Core
  1. appsettings.json 中配置 SQLite 连接字符串:

    {"ConnectionStrings": {"DefaultConnection": "Data Source=students.db"}
    }
    
  2. 创建 Student 实体类:

    public class Student
    {public int Id { get; set; }public string Name { get; set; }public int Age { get; set; }public string Major { get; set; }
    }
    
  3. 创建 ApplicationDbContext

   // 定义数据库上下文类,用于与数据库交互
public class ApplicationDbContext : DbContext
{public DbSet<Student> Students { get; set; } // 表示 Students 表// 添加一个接受 DbContextOptions 的构造函数public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options): base(options) // 将选项传递给基类{}// 如果需要,可以保留无参构造函数(仅用于手动配置)public ApplicationDbContext(){}
}
  1. 添加迁移并更新数据库:
    dotnet ef migrations add InitialCreate
    dotnet ef database update
    
1.3 创建 API 控制器
  1. 创建 StudentsController
// 定义一个 API 控制器,处理学生数据的增删改查
[Route("api/[controller]")] // 定义路由前缀为 api/students
[ApiController]
public class StudentsController : ControllerBase
{private readonly ApplicationDbContext _context; // 注入数据库上下文// 构造函数注入public StudentsController(ApplicationDbContext context){_context = context;}// GET: api/students - 获取所有学生数据[HttpGet]public async Task<ActionResult<IEnumerable<Student>>> GetStudents(){return await _context.Students.ToListAsync(); // 查询并返回所有学生数据}// POST: api/students - 添加新学生数据[HttpPost]public async Task<ActionResult<Student>> PostStudent(Student student){_context.Students.Add(student); // 将新学生数据添加到数据库await _context.SaveChangesAsync(); // 保存更改return CreatedAtAction(nameof(GetStudents), new { id = student.Id }, student); // 返回创建的资源}}

2. 前端部分 (React)

2.1 创建 React 应用
  1. 使用 Create React App 创建前端项目:

    npx create-react-app student-management-frontend
    cd student-management-frontend
    
  2. 安装 Axios 用于 HTTP 请求:

    npm install axios
    
2.2 设计首页
  1. 编辑 App.js 文件:
import logo from './logo.svg';
import './App.css';
import React, { useState } from 'react';
import axios from 'axios';function App() {// 定义状态变量,控制是否显示管理员表单const [showAdminForm, setShowAdminForm] = useState(false);// 定义状态变量,存储从后端获取的学生数据const [students, setStudents] = useState([]);// 点击 "Admin" 按钮时,显示管理员表单const handleAdminClick = () => {setShowAdminForm(true);};// 点击 "Data Viewer" 按钮时,从后端获取所有学生数据const handleViewDataClick = async () => {try {// 发送 GET 请求到后端 API 获取学生数据(要注意一致和后端的api一致)const response = await axios.get('https://localhost:5000/api/students');// 更新状态变量,存储获取到的学生数据setStudents(response.data);} catch (error) {console.error('Error fetching students:', error);}};// 提交管理员表单时,将学生数据发送到后端const handleSubmit = async (event) => {event.preventDefault(); // 阻止表单默认提交行为// 获取表单输入值const name = event.target.name.value;const age = event.target.age.value;const major = event.target.major.value;try {// 发送 POST 请求到后端 API 添加学生数据await axios.post('https://localhost:5000/api/students', { name, age, major });alert('Student added successfully!'); // 提示用户操作成功setShowAdminForm(false); // 隐藏表单} catch (error) {console.error('Error adding student:', error);}};return (<div>{/* 页面标题 */}<h1>Welcome to Student Management System</h1>{/* 功能按钮 */}<button onClick={handleAdminClick}>Admin</button><button onClick={handleViewDataClick}>Data Viewer</button><button>Designer</button>{/* 管理员表单 */}{showAdminForm && (<form onSubmit={handleSubmit}><h2>Add Student</h2>{/* 输入学生姓名 */}<input type="text" name="name" placeholder="Name" required />{/* 输入学生年龄 */}<input type="number" name="age" placeholder="Age" required />{/* 输入学生专业 */}<input type="text" name="major" placeholder="Major" required />{/* 提交按钮 */}<button type="submit">Submit</button></form>)}{/* 显示学生数据 */}{students.length > 0 && (<div><h2>Student List</h2><ul>{/* 遍历学生数据并显示 */}{students.map((student) => (<li key={student.id}>{student.name} - {student.age} years old - {student.major}</li>))}</ul></div>)}</div>);
}export default App;

3. 运行项目

3.1 启动后端

在后端项目目录下运行:

dotnet run

API 将在 http://localhost:5000 上运行。
运行成功后,弹出swagger UI页面,测试API接口是否正常;在这里插入图片描述

3.2 启动前端

在前端项目目录下运行:

npm start

React 应用将在 http://localhost:3000 上运行。


4. 功能测试

  1. 点击“管理员”按钮,填写学生信息并提交。
  2. 点击“数据查看”按钮,查看管理员录入的学生数据。
  3. 确保数据能够正确存储到 SQLite 数据库中,并从前端显示出来。

http://www.dtcms.com/wzjs/180499.html

相关文章:

  • 硅谷电视剧他们做的是网站还是软件高端网站建设定制
  • 邢台无忧网站建设公司知乎关键词排名工具
  • 成都网站建设小公司排名如何制作链接推广
  • 花生壳内网穿透网站如何做seo优化seo培训学院
  • 单页网站制作建站仿站手机百度如何发布作品
  • wordpress 手机端访问怎么样关键词优化
  • 国内wordpress著名网站搜狗网站seo
  • 云南建设委员会官方网站万网建站
  • 做网站端口内容无法替换360搜索首页
  • 上海中学地址关键词seo培训
  • 全网营销型网站新闻新冠疫情最新数据
  • cad使用视频在线观看网络营销的优化和推广方式
  • 地方门户网站系统代运营公司靠谱吗
  • 制作图片的软件哪个好用百度seo原理
  • 网站原创内容优化seo公司 杭州
  • seo详细教程网站seo外包价格
  • 济南哪有做网站的推广教程
  • 深圳哪家制作网站好seo关键词布局案例
  • 网站不接入备案职业技能培训网站
  • 科讯cms怎么做网站地图曼联vs恩波利比分
  • 外贸网站制作价格表黄页88网官网
  • 广州微网站建设怎么样免费海报模板网站
  • 茶文化网站建设内容建立网站费用大概需要多少钱
  • 微网站免费模板14个seo小技巧
  • 了解做房产广告的网站武汉软件测试培训机构排名
  • 优秀材料写作网站搜索引擎技术优化
  • 重庆黔江做防溺水的网站网络营销与直播电商专升本
  • 新手搭建论坛己做网站百度广告优化师
  • 网站建设项目说明书模板优化大师tv版
  • 临沂网站建设教程关键词快速优化排名软件