• React入门(增删改查)


    话不多说,直接上代码,有哪些细节不会的问题可以直接问我,我会尽我所能回答

    添加页面:

    @{
        ViewData["Title"] = "Add";
    }
    
    <h1>添加页面</h1>
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <link href="~/lib/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
        <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
        <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
        <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
        <script src="https://cdn.staticfile.org/jquery/2.1.4/jquery.min.js"></script>
        <script src="~/layui-v2.5.6/layui/layui.js"></script>
        <link href="~/layui-v2.5.6/layui/css/layui.css" rel="stylesheet" />
    </head>
    <body>
        <div id="cun"></div>
        <script type="text/babel">
            //type="text/babel"
            class CrudComponent extends React.Component{
            constructor(props){
            super(props)
            this.state={
            list:[]
            }
            }
    
    
    
            addUser(){
            
                const insertUser = "http://localhost:58646/api/Qx/AddLog?username=" + this.username.value 
            fetch(insertUser,{method:"post"})
            .then(response=>response.json())
            .then(data=>{
            console.log(data)
            if (data>0) {
            alert("添加成功");
            window.location.href = "http://localhost:62817/Ajax/Index";
            }
            })
    
            
            }
    
    
            render(){
            return (
            <div>
                <fieldset className="layui-elem-field">
                    <legend>Add User</legend>
                    <div className="layui-field-box">
                        <div className="layui-row layui-col-space2">
                            <div className="layui-col-md1">
                                <input type="text" id="username" name="username" required lay-verify="required" placeholder="操作人" className="layui-input" ref={username => this.username = username} />
                            </div>
    
                            <hr className="layui-bg-green" />
    
    
    
                            <div className="layui-col-md1">
                                <button id="btn2" className="layui-btn" onClick={this.addUser.bind(this)}>
                                    <i className="layui-icon">&#xe608;</i>添加
                                </button>
                            </div>
                        </div>
                    </div>
                </fieldset>
            </div>
            )
            }
            }
            ReactDOM.render(
            <CrudComponent />,document.getElementById("cun"))
        </script>
    </body>
    </html>
    Add.cshtml

    显示页面:

    @{
        ViewData["Title"] = "Index";
    }
    
    <h2>自己敲的ajax</h2>
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8" />
        <title>React 实例</title>
        <link href="~/lib/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
        <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
        <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
        <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
        <script src="https://cdn.staticfile.org/jquery/2.1.4/jquery.min.js"></script>
    </head>
    <body>
        
        <div id="example"></div>
        
        <script type="text/babel">
            //type="text/babel"
            class UserGist extends React.Component {
            constructor(props) {
            super(props);
            //在state设置两个属性,以便后续通过state对象来对其进行修改
            this.state = {List:[]};
            //绑定挂载事件
            this.componentDidMount = this.componentDidMount.bind(this);
            }
    
            componentDidMount() {
            //接下来操作state时上下文对象发生改变,此处拿到操作句柄
            var that = this;
            //ajax请求
            this.serverRequest = $.ajax({
            url: this.props.source,
            type:"GET",
            dataType:'json',
            success: function (result) {
            console.log(result);
    
            var lastGist = result;
            //此处的上下文发生改变,this的指针指向发生了变化,通过上述定义的that来操作
            that.setState({
            List: result,
            })
            }
            })
            }
            DelUser(index) {
    
            const insertUser = "http://localhost:58646/api/Qx/DelLog?id=" +index
            fetch(insertUser, { method: "post" }
            )
            .then(response => response.json())
            .then(data => {
            console.log(data)
            this.setState({
            List: this.state.List
            })
            if (data > 0) {
            alert("删除成功");
            window.location.href = "http://localhost:62817/Ajax/Index";
            }
    
    
    
            })
            }
    
            //卸载React组件时,把多余请求关闭,以免影响其他框架或组件的操作
            componentWillUnmount() {
            this.serverRequest.abort();
            }
    
    
    
    
    
            //添加按钮跳转事件
            AddReact() {
            window.location.href = "http://localhost:62817/Ajax/Add";
            }
    
            //修改按钮点击跳转事件
            UptUser(id){
            window.location.href = "http://localhost:62817/Ajax/Upt?id="+id;
            }
    
            //查询按钮点击事件
            CxReact()
            {
            const insertUser = "http://localhost:58646/api/Qx/CxLog?name=" +this.name.value
            fetch(insertUser, { method: "post" }
            )
            .then(response => response.json())
            .then(data => {
            console.log(data)
            this.setState({
            List: data
            })
            //if (data > 0) {
            //    window.location.href = "http://localhost:62817/Ajax/Index";
            //}
    
    
    
            })
            }
    
            render() {
            return (
            <div>
                <button onClick={this.AddReact.bind(this)}>
                    添加
                </button>
                操作人名称是:
                <input type="text" id="name" name="name" ref={name => this.name = name} />
                <button onClick={this.CxReact.bind(this)}>
                    查询
                </button>
                <table className="table table-bordered">
                    <thead>
                        <tr>
                            <td>主键Id</td>
                            <td>操作人</td>
                            <td>操作状态</td>
                            <td>操作时间</td>
                            <td>操作</td>
                        </tr>
                    </thead>
                    <tbody>
                        {
    
                        this.state.List.map((item,index) => {
                        return (
    
                        <tr key={index}>
                            <td>{item.lId}</td>
                            <td>{item.userName}</td>
                            <td>{item.state}</td>
                            <td>{item.time}</td>
                            <td><button onClick={this.DelUser.bind(this,item.lId)}>删除</button><button onClick={this.UptUser.bind(this,item.lId)}>修改</button></td>
                        </tr>
    
                        )
                        }
                        )
    
                        }
                    </tbody>
                </table>
    
                @*{this.state.date[0].userName} 用户最新的 Gist 共享地址:
                <a href={this.state.lastGistUrl} rel="nofollow">{this.state.lastGistUrl}</a>*@
            </div>
            );
            }
            }
    
            ReactDOM.render(
            <UserGist source="http://localhost:58646/api/Qx/LogShow" />,
            document.getElementById('example')
            );
        </script>
    
    </body>
    </html>
    Index.cshtml

    修改页面:

    @{
        ViewData["Title"] = "Upt";
    }
    
    <h1>修改页面</h1>
    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <link href="~/lib/bootstrap/dist/css/bootstrap.css" rel="stylesheet" />
        <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
        <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
        <script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
        <script src="https://cdn.staticfile.org/jquery/2.1.4/jquery.min.js"></script>
        <script src="~/layui-v2.5.6/layui/layui.js"></script>
        <link href="~/layui-v2.5.6/layui/css/layui.css" rel="stylesheet" />
    </head>
    <body>
        <div id="cun"></div>
        <script type="text/babel">
            //type="text/babel"
            class CrudComponent extends React.Component{
            constructor(props){
            super(props)
            this.state={
            list:[]
            }
            }
    
            //反填
            componentDidMount() {
            //接下来操作state时上下文对象发生改变,此处拿到操作句柄
            var that = this;
            //ajax请求
            this.serverRequest = $.ajax({
            url: this.props.source+"?id="+@ViewBag.userid,
            type:"post",
            dataType:'json',
            success: function (result) {
            console.log(result);
            var lastGist = result;
            $("#username").val(result.userName);
            //此处的上下文发生改变,this的指针指向发生了变化,通过上述定义的that来操作
            that.setState({
            list: result,
            })
            }
            })
            }
    
    
            UptUser(){
    
            const insertUser = "http://localhost:58646/api/Qx/XgLog?username=" + this.username.value+"&LId="+@ViewBag.userid
            fetch(insertUser,{method:"post"})
            .then(response=>response.json())
            .then(data=>{
            console.log(data)
            if (data>0) {
            alert("修改成功");
            window.location.href = "http://localhost:62817/Ajax/Index";
            }
            })
    
    
            }
    
    
            render(){
            return (
            <div>
                <fieldset className="layui-elem-field">
                    <legend>Add User</legend>
                    <div className="layui-field-box">
                        <div className="layui-row layui-col-space2">
                            <div className="layui-col-md1">
                                <input type="text" id="username" name="username" required lay-verify="required" placeholder="操作人" className="layui-input" ref={username => this.username = username} />
                            </div>
    
                            <hr className="layui-bg-green" />
    
    
    
                            <div className="layui-col-md1">
                                <button id="btn2" className="layui-btn" onClick={this.UptUser.bind(this)}>
                                    <i className="layui-icon">&#xe608;</i>修改
                                </button>
                            </div>
                        </div>
                    </div>
                </fieldset>
            </div>
            )
            }
            }
            ReactDOM.render(
            <CrudComponent source="http://localhost:58646/api/Qx/FtLog" />,document.getElementById("cun"))
        </script>
    </body>
    </html>
    Upt.cshtml

    后端接口:

    //添加
            [HttpPost]
            public int AddLog(Log m)
            {
                //LogHelper log = new LogHelper();
                //Log model = new Log();
                string sql = $"insert into Log values('{m.UserName}',2,1,'{DateTime.Now }')";
                return dbhelper.ExecuteNonQuery(sql);
            }
            //删除
            [HttpPost]
            public int DelLog(int id)
            {
                //LogHelper log = new LogHelper();
                //Log model = new Log();
                string sql = $"delete from Log where LId={id}";
                return dbhelper.ExecuteNonQuery(sql);
            }
            //日志显示的方法
            [HttpGet]
            public List<Log> LogShow()
            {
                return db.Log.ToList();
            }
            //反填
            [HttpPost]
            public Log FtLog(int id)
            {
                string sql = $"select * from Log where LId={id}";
                return dbhelper.GetToList<Log>(sql)[0];
            }
            //修改
            [HttpPost]
            public int XgLog(Log model)
            {
                string sql = $"Update Log set UserName='{model.UserName}' where LId={model.LId}";
                return dbhelper.ExecuteNonQuery(sql);
            }
            //查询日志
            [HttpPost]
            public List<Log> CxLog(string name)
            {
                string sql = $"select * from Log ";
                if (name!="")
                {
                    sql += $"where UserName  like '%{name}%'";
                }
                else
                {
                    sql += "where 1=1";
                }
                
                return dbhelper.GetToList<Log>(sql);
            }
    Qx.cs
  • 相关阅读:
    doraemon的python 从计算机基础到面向对象的笔记(加面试题)
    doraemon的python 单例模式和日志操作(我的笔记整合起来就是一份完成的python学习资料)
    Mybatis系列教材 (十七)- 相关概念
    Mybatis系列教材 (十六)- 注解
    Mybatis系列教材 (十五)- 注解
    Mybatis系列教材 (十四)- 注解
    Mybatis系列教材 (十三)- 注解
    Mybatis系列教材 (十二)- 注解
    Mybatis系列教材 (十一)- 动态SQL
    Mybatis系列教材 (十)- 动态SQL
  • 原文地址:https://www.cnblogs.com/bwxw/p/13820934.html
Copyright © 2020-2023  润新知