对Person信息进行操作

这一章的功能比较简单。下面开始

修改视图

对person的视图文件进行修改

<div class="row">
        <div class="col-md-12">
            <button data-toggle="modal" data-target="#PersonCreateModal" class="btn btn-primary pull-right">
                <i class="fa fa-plus"></i> @L("CreatePerson")</button>
            <table class="table">
                <thead>
                <tr>
                    <th>操作</th>
                    <th>@L("Name")</th>
                    <th>@L("EmailAddress")</th>
                    <th>@L("CreationTime")</th>
                </tr>
                </thead>
                <tbody>
                @foreach (var person in Model.Items)
                {
                    <tr>
                        <td><a href="javascript:void()" data-toggle="modal" data-target="#PersonCreateModal"  onclick="editPerson(@person.Id);" >编辑</a>| <a  href="javascript:void()" onclick="deletePerson(@person.Id);"> 删除</a></td>
                        <td>@person.Name </td>
                        <td>@person.EmailAddress</td>
                        <td>@person.CreationTime</td>
                    </tr>
                }
                </tbody>
            </table>

        </div>

    </div>

然后在页面下方弹出层的位置添加一个隐藏域

<input   type="hidden"   name="Id" >

然后视图页面就已经完善了。

改造添加功能

如果你是vs2013的用户,无法使用代码生成器。可以到这里来下载:代码地址

原来的添加功能:

var person = _$form.serializeFormToObject();
            abp.ui.setBusy(_$modal);
            console.log(person);
            _personService.createPersonAsync(person).done(function () {
                _$modal.modal("hide");
                location.reload(true); //reload page to see new person!
            }).always(function() {
                abp.ui.clearBusy(_$modal);
            });
            });

修改后的:

var personEditDto = _$form.serializeFormToObject();
            abp.ui.setBusy(_$modal);

            _personService.createOrUpdatePersonAsync({ personEditDto }).done(function() {
                _$modal.modal("hide");

                location.reload(true); //reload page to see new person!
            }).always(function() {
                abp.ui.clearBusy(_$modal);
            });
        });

这样修改后,可以为我们的编辑功能也不用再去粘贴复制js代码了。

添加修改方法

function editPerson(id) {

    _personService.getPersonForEditAsync({ id: id }).done(function(data) {

        $("input[name=Name]").val(data.person.name);
        $("input[name=EmailAddress]").val(data.person.emailAddress);
        $("input[name=Id]").val(data.person.id);

    });

}

就这么简单。

着重说明(敲黑板):这里特别要注意,因为作者给的demo的js使用的是。()();写法,这样是避免了污染了全局变量。我这里使用的是最快捷的方式来实现编辑功能,也就是说。我们的editPerson方法要写在外面,否则我们也没的onclick()方法是无法触发的。

好了。这样的话,修改和添加调用的都是同一个方法也能保证正常的修改和添加了。

删除功能

function deletePerson(id) {
    _personService.deletePersonAsync({ id: id }).done(function () {
        location.reload(true);
    });

}

删除功能,也很简单。整体我们对Person的单表操作就算是已经完成了。

完善删除功能

我这里说的完善的意思是,我们目前的删除就是点击删除按钮,就开始刷新页面,然后就删除了该行数据。

这样一点都不人性化,我们把他改 的人性化一点。

function deletePerson(id) {
    abp.message.confirm(
        "是否删除Id为"+id+"的联系人信息", function() {
            _personService.deletePersonAsync({ id: id }).done(function() {
                location.reload(true);
            });
        }
    );

}

看他们的区别。

然后就是这样。

我们对Person的增删改查算是彻底了完成了。

-返回目录-  ABP打造一个《电话簿项目》

时间: 2024-10-11 04:29:59

对Person信息进行操作的相关文章

jsp访问浏览器信息、操作系统信息、客户端ip地址

<% String path = request.getContextPath(); String agent = request.getHeader("User-Agent"); String browInfo[] = agent.split(";"); String realBrowser = browInfo[1].trim();//浏览器信息 String osInfo = System.getProperty("os.name")

移动端测试——APP元素信息[事件]操作API和APP模拟手势高级操作(4)

appium基础API 1.1 APP元素信息操作API 介绍手机端元素信息的获取以及基本的输入操作 前置代码 # 导入driver对象 from appium import webdriver import time # server 启动参数 desired_caps = {} # 设备信息(系统.版本.设备号) desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '9' desired_cap

基于jsp+servlet图书管理系统之后台用户信息查询操作

上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的时候查询操作,附有从头至尾写的代码(详细的注释)和数据库! 此次查询操作的源码和数据库:http://download.csdn.net/detail/biexiansheng/9732095 为了方便理解和说明,这里简单介绍一些执行的流程,方便理解.插入操作的执行流程和说明: 1:插入操作的执行流程如下 1.1:首先登录页面,设置默认的打开页面是login.jsp. <!-- 默认模仿的是登录界面login.jsp页面 -->  &

基于jsp+servlet图书管理系统之后台用户信息修改操作

上一篇的博客写的是查询操作,且附有源码和数据库,这篇博客写的时候修改操作,附有从头至尾写的代码(详细的注释)和数据库! 此次修改操作的源码和数据库:http://download.csdn.net/detail/biexiansheng/9732691 为了方便理解和说明,先写一下执行的流程和步奏,详细代码可以下载连接. 1:修改操作的执行流程: 1.1:修改操作需要先获取到用户信息的编号,然后才可以进行修改,脑子里一定有这个思路.故获取用户编号的操作即为查询操作.这里使用了一个小工具进行分页操

学生学籍管理系统_管理员登陆对学生的信息进行操作

MInterface.java package studentManage; import java.awt.*; import java.awt.event.*; import javax.swing.*; /* * 管理员 * 操作界面接口类,可以直接扩展.调用. */ public class MInterface extends JFrame implements ActionListener { static JMenuBar jMenuBar = new JMenuBar();//

asp编程实例:用ASP实现对MP3曲目信息的操作

先简单说一下MP3的ID3 标记,因为主要是操作这个玩意 MP3最开始的时候没有我们今天看到的那样,有歌手.年代,专集等等信息 只有一些简单的参数如yes/no来表示是不是privated或者copyrighted等信息,这样对MP3的相关工作带来了很多不便,1996年的时候有个老外提出来在每个MP3后面追加一段数据,用以存放上述的那些信息,后来就发展成为id3 v1 据我所知的现在已经到1.1了,具体的还是自己去查一下吧 上海诚凯男子医院程序:还是老习惯,用metadata来引入DLL,我以前

时序数据库InfluxDB(I)- 搭建与采集信息demo操作

搭建环境:vmware workstation pro15.5.0, ubuntu18.04.3 实践时间:2019.10.12-10.27 (一)时序数据库InfluxDB准备 (1)安装 曾出现问题: 解决方法为: (2)配置文件的位置: 可进行InfluxDB缓存大小等参数的设置. (3)服务器端启动: 以后台运行的方式启动了InfluxDB的服务端. (4)客户端启动:登入InfluxDB服务器 将路径加入环境变量中,方便任意地方使用InfluxDB: Or: 特别提醒data和WAL的

Jquery 页面中如若是遍历出来的数据,如何针对其中一条信息进行操作(增删改)

背景:因为遍历出来的的数据,如不进行任何操作,其后面的按钮在ID相同的情况下,事件触发和表单获取都只能有一个.而不能将所有的数据包括在内. 转自百度: http://zhidao.baidu.com/link?url=HSORjB-yy61-8h_8dDY72sN_5jzjaapyUa0zk9TLJCOoZFcHZ6Df2PjFtCvmkGdziXK5QSmji-n-HvUy_38LOK 为这5个按钮设置一个相同的class<input class="btn" id="

Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)

ADB很强大,记住一些ADB命令有助于提高工作效率. 1. 获取序列号: adb get-serialno 2. 查看连接计算机的设备: adb devices 3. 重启机器: adb reboot 4. 重启到bootloader,即刷机模式: adb reboot bootloader 5. 重启到recovery,即恢复模式: adb reboot recovery 6. 查看log: adb logcat 7. 终止adb服务进程: adb kill-server 8. 重启adb服务