前端Vue3.0+elementui plus,后端用传统的ASP.NET MVC框架,方法在Controller中,实现对数据库表的增删改查,请提供完整的案例代码
时间: 2024-11-09 09:18:20 浏览: 21
基于Vue3+Element Plus+FastAPI开发的一个通用中后台管理框架(若依的FastAPI版本).zip
在 Vue.js 3.x 和 Element Plus 结合 ASP.NET MVC 框架的情况下,前端负责展示数据并处理用户交互,后端则负责数据操作。这里提供一个简化的前端和后端基本操作示例:
**前端 (Vue.js + Element Plus) - main.vue**
```html
<template>
<div id="app">
<el-table :data="items" @row-click="handleRowClick">
<!-- 表格列 -->
<el-table-column prop="name" label="姓名" width="180"></el-table-column>
<!-- ...其他列... -->
<el-table-column type="action" label="操作">
<template slot-scope="scope">
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
<el-button size="mini" type="danger" @click="deleteItem(scope.$index)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 添加按钮 -->
<el-button @click="addItem">添加新记录</el-button>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
items: [],
};
},
methods: {
addItem() {
// 这里需要将请求发送到后端 API
axios.post('/api/items', this.newItem).then(res => {
this.items.push(res.data);
});
},
handleRowClick(index, row) {
// 编辑或查看功能在这里触发...
},
handleEdit(index, item) {
axios.put(`/api/items/${item.id}`, item).then(() => {
// 更新表格数据
this.items[index] = item;
});
},
deleteItem(index) {
const confirmMessage = `确定删除 "${item.name}" 吗?`;
if (window.confirm(confirmMessage)) {
axios.delete(`/api/items/${index}`).then(() => {
this.items.splice(index, 1);
});
}
},
newItem: {}, // 初始化新的待添加项
},
created() {
// 初始化数据,通常从API获取
axios.get('/api/items').then(res => (this.items = res.data));
},
};
</script>
```
**后端 (ASP.NET MVC) - ItemsController.cs**
```csharp
using System.Web.Mvc;
using YourProjectNamespace.Models; // 假设有一个Items模型
public class ItemsController : Controller
{
private readonly YourDbContext _context;
public ItemsController(YourDbContext context)
{
_context = context;
}
[HttpGet]
public JsonResult GetAll()
{
return Json(_context.Items.ToList());
}
[HttpPost]
public JsonResult Add(Item newItem)
{
_context.Items.Add(newItem);
_context.SaveChanges();
return Json(newItem, JsonRequestBehavior.AllowGet);
}
[HttpPut]
public JsonResult Update(int id, Item updatedItem)
{
var existingItem = _context.Items.Find(id);
if (existingItem != null)
{
existingItem.Update(updatedItem);
_context.SaveChanges();
}
return Json(updatedItem);
}
[HttpDelete]
public JsonResult Delete(int id)
{
var itemToRemove = _context.Items.Find(id);
if (itemToRemove != null)
{
_context.Items.Remove(itemToRemove);
_context.SaveChanges();
}
return Json(true);
}
}
```
阅读全文