ABP入门教程12 - 展示层实现增删改查-脚本
创建目录
在展示层(即JD.CRS.Web.Mvc)的\wwwroot\view-resources\Views\下新建文件夹Course //用以存放Course相关脚本
创建脚本
在JD.CRS.Web.Mvc\wwwroot\view-resources\Views\Course下新建两个JavaScript文件
查询脚本
Index.js //用于Course的查询视图(Index.cshtml)
(function () {
$(function () {
var _courseService = abp.services.app.course;
var _$modal = $('#CourseCreateModal');
var _$form = _$modal.find('form');
_$form.validate({
});
$('#RefreshButton').click(function () {
refreshCourseList();
});
$('.delete-course').click(function () {
var courseId = $(this).attr("data-course-id");
var courseName = $(this).attr('data-course-name');
deleteCourse(courseId, courseName);
});
$('.edit-course').click(function (e) {
var courseId = $(this).attr("data-course-id");
e.preventDefault();
$.ajax({
url: abp.appPath + 'Course/EditCourseModal?courseId=' + courseId,
type: 'POST',
contentType: 'application/html',
success: function (content) {
$('#CourseEditModal div.modal-content').html(content);
},
error: function (e) { }
});
});
_$form.find('button[type="submit"]').click(function (e) {
e.preventDefault();
if (!_$form.valid()) {
return;
}
var course = _$form.serializeFormToObject(); //serializeFormToObject is defined in main.js
abp.ui.setBusy(_$modal);
_courseService.create(course).done(function () {
_$modal.modal('hide');
location.reload(true); //reload page to see new user!
}).always(function () {
abp.ui.clearBusy(_$modal);
});
});
_$modal.on('shown.bs.modal', function () {
_$modal.find('input:not([type=hidden]):first').focus();
});
function refreshCourseList() {
location.reload(true); //reload page to see new user!
}
function deleteCourse(courseId, courseName) {
abp.message.confirm(
abp.utils.formatString(abp.localization.localize('AreYouSureWantToDelete', 'CRS'), courseName),
function (isConfirmed) {
if (isConfirmed) {
_courseService.delete({
id: courseId
}).done(function () {
refreshCourseList();
});
}
}
);
}
});
})();
修改脚本
_EditCourseModal.js //用于Course的修改视图(_EditCourseModal.cshtml)
(function ($) {
var _courseService = abp.services.app.course;
var _$modal = $('#CourseEditModal');
var _$form = $('form[name=CourseEditForm]');
function save() {
if (!_$form.valid()) {
return;
}
var course = _$form.serializeFormToObject(); //serializeFormToObject is defined in main.js
abp.ui.setBusy(_$form);
_courseService.update(course).done(function () {
_$modal.modal('hide');
location.reload(true); //reload page to see edited course!
}).always(function () {
abp.ui.clearBusy(_$modal);
});
}
//Handle save button click
_$form.closest('div.modal-content').find(".save-button").click(function (e) {
e.preventDefault();
save();
});
//Handle enter key
_$form.find('input').on('keypress', function (e) {
if (e.which === 13) {
e.preventDefault();
save();
}
});
$.AdminBSB.input.activate(_$form);
_$modal.on('shown.bs.modal', function () {
_$form.find('input[type=text]:first').focus();
});
})(jQuery);
小工具
Bundler & Minifier //可用于合并/压缩js, css等
打开VS工具/扩展和更新/联机/搜索Bundler & Minifier,点击下载,重启VS完成安装.

右键要处理的文件,选择Bundler & Minifier / Minify File即可生成压缩版本.

ABP入门教程12 - 展示层实现增删改查-脚本的更多相关文章
- ABP入门教程9 - 展示层实现增删改查-视图模型
点这里进入ABP入门教程目录 创建视图模型 在展示层(即JD.CRS.Web.Mvc)的Models下新建文件夹Course //用以存放Course相关视图模型 在JD.CRS.Web.Mvc/Mo ...
- ABP入门教程10 - 展示层实现增删改查-控制器
点这里进入ABP入门教程目录 创建控制器 在展示层(即JD.CRS.Web.Mvc)的Controllers下新建一个控制器CourseController.cs using Abp.Applicat ...
- ABP入门教程11 - 展示层实现增删改查-视图
点这里进入ABP入门教程目录 创建目录 在展示层(即JD.CRS.Web.Mvc)的Views下新建文件夹Course //用以存放Course相关视图 创建视图 在JD.CRS.Web.Mvc/Vi ...
- abp(net core)+easyui+efcore仓储系统——展现层实现增删改查之控制器(六)
abp(net core)+easyui+efcore仓储系统目录 abp(net core)+easyui+efcore仓储系统——ABP总体介绍(一) abp(net core)+easyui+e ...
- ABP入门系列(6)——展现层实现增删改查
这一章节将通过完善Controller.View.ViewModel,来实现展现层的增删改查.最终实现效果如下图: 一.定义Controller ABP对ASP.NET MVC Controllers ...
- ABP入门系列(5)——展现层实现增删改查
ABP入门系列目录--学习Abp框架之实操演练 这一章节将通过完善Controller.View.ViewModel,来实现展现层的增删改查.最终实现效果如下图: 一.定义Controller ABP ...
- abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- 基于renren-fast的快速入门项目实战(实现报表增删改查)
基于renren-fast的快速入门项目实战(实现报表增删改查) 说明:renren-fast是一个开源的基于springboot的前后端分离手脚架,当前版本是3.0 官方开发文档需付费,对于新手而言 ...
- 数据库Dao层编增删改查写,数据库事务,数据库升级
数据库事务 有两个特点 1.安全性 情景:正常的转账行为,这个时候如果出现停电等异常,已经扣钱但是没有加钱:这个时候就可用数据库事务解决问题 2.高效性: 使用数据库事务添加享受同数量的数据,对比耗时 ...
随机推荐
- Android Activity启动流程, app启动流程,APK打包流程, APK安装过程
1.Activity启动流程 (7.0版本之前) 从startActivity()开始,最终都会调用startActivityForResult() 在该方法里面会调用Instrumentation. ...
- Visual Studio中相对路径中的宏定义
$(RemoteMachine) 设置为“调试”属性页上“远程计算机”属性的值.有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置. $(References) 以分号分隔的引用列表被添加到 ...
- python--推倒式(列表、字典、集合)
python的各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体 ...
- Java用广度优先搜索快速搜索文件
背景 在开发的过程中,经常需要在文件系统里按某些条件搜索文件,比如音乐播放器扫描音乐,而搜索文件,大多人喜欢用递归的方式,而这也是最容易想到的方式.递归方式如果文件夹很深就容易造成栈溢出,而且不断的压 ...
- Vue之判断对象是否为空的方法
1. JSON.stringify(xxx)=='{}' 2. Object.keys(xxx).length==0 验证结果如下:
- Docker安全扫描工具之docker-bench-security
简介 Docker Bench for Security检查关于在生产环境中部署Docker容器的几十个常见最佳实践.这些测试都是自动化的,其灵感来自CIS Docker基准1.2.0版. 这种安全扫 ...
- Linux - CentOS 7 通过Yum源安装 Nginx
添加源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.no ...
- Leetcode 之 Mysql(day01)
大四已经接近一半了,下学期就要准备找工作实习了.为了自己能找到一份比较满意的实习,今天开始要刷一下题目.今天就刷 MySQL 语言.以下就是我今天刷的题目.大家也可以去 leetcode 注册一个账号 ...
- JQuery 常用网址
http://www.bejson.com/apidoc/jquery/css.html 操作手册 https://jquery.com/ JQuery官网 一.JQuery插件的网站 1.ht ...
- SpringCloud之Eureka:集群搭建
上篇文章<SpringCloud之Eureka:服务发布与调用例子>实现了一个简单例子,这次对其进行改造,运行两个服务器实例.两个服务提供者实例,服务调用者请求服务,使其可以进行集群部署. ...