Ajax 提交KindEditor的数据


这次我是在EasyUI中使用了KindEditor的编辑器,按照官方给的代码,总是无法获取编辑器里面的值(内容),如下:
        KindEditor.ready(function (K) {
            var editor1 = K.create('#content', {
                cssPath: '../js/plugins/code/prettify.css',
                uploadJson: 'upload_json.ashx',
                fileManagerJson: 'file_manager_json.ashx',
                allowFileManager: true,
                afterCreate: function () {
                    var self = this;
                    K.ctrl(document, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                    K.ctrl(self.edit.doc, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                }
            });
            prettyPrint();
        });  

改代码就是官方给的,后来发现,第二次提交,这个content又有值了,甚是奇怪,后来在百度的帮助下,找到了原因,原理是需要在提交之前,异步一下编辑器的内容,改良后的代码如下:
        KindEditor.ready(function (K) {
            var editor1 = K.create('#content', {
                cssPath: '../js/plugins/code/prettify.css',
                uploadJson: 'upload_json.ashx',
                fileManagerJson: 'file_manager_json.ashx',
                allowFileManager: true,
                afterCreate: function () {
                    var self = this;
                    K.ctrl(document, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                    K.ctrl(self.edit.doc, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                },
                afterBlur: function () { this.sync(); }//这一步非常重要,如果遗漏,则后台无法接收到数据。
            });
            prettyPrint();
        });  

这样后台就可以正常接收数据了,下面是完整代码,也可以下载附件来看:

本次经验分享到此结束,转载请保留原作者地址以及姓名(本人无偿分享经验,有偿接单制作Android或者IOS平台的APP,有需要可以联系我。);

作者:南宫萧尘  
E-mail:314791147@qq.com
QQ:314791147
日期:2016-04-29

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MOOCEducationManagement.aspx.cs" Inherits="Web.Admin.MOOCEducationManagement" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>MOOC教学</title>
    <link rel="stylesheet" type="text/css" href="../css/common.css" />
    <link rel="stylesheet" type="text/css" href="../css/admin.css" />
    <link rel="stylesheet" type="text/css" href="../js/My97DatePicker/skin/WdatePicker.css" />
    <link rel="stylesheet" type="text/css" href="../js/jquery-easyui-1.4.3/themes/bootstrap/easyui.css" />
    <link rel="stylesheet" type="text/css" href="../js/jquery-easyui-1.4.3/themes/icon.css" />
    <link rel="stylesheet" href="../js/plugins/code/prettify.css" />
    <style type="text/css">
        a {
            colorred;
        }
        .resource {
            width800px;
        }
    </style>
</head>
<body>
    <div id="top" class="top">
        <div class="topMenu">
            <div class="topIcon">
                <a title="返回后台首页" href="index.aspx">
                    <img src="../img/home.png" alt="返回后台首页" /></a>
                <div class="line" style="color: white; font-size: 18px; height: 10px; line-height: 10px; margin-top: -20px;">
                     <a href="index.aspx" style="color: white;">主页</a>
                </div>
            </div>
            <div class="topIcon">
                <a title="退出登陆" href="../index.aspx">
                    <img src="../img/exit.png" alt="退出登陆" /></a>
                <div class="line" style="color: white; font-size: 18px; height: 10px; line-height: 10px; margin-top: -20px;">
                    <a href="../index.aspx" style="color: white;">退出</a>
                </div>
            </div>
            <div class="topCloum">
            </div>
            <div class="topIcon" style="margin-left: 50px; margin-top: 20px;">
                <div class="line" style="height: 70px;">
                    <img src="../img/pic.png" />
                </div>
                <div class="line" style="height: 40px; text-align: left; color: white; font-weight: bold; line-height: 35px; text-indent: 10px; font-size: 18px;">
                    <asp:Label ID="lbUserName" runat="server" Text="Admin"></asp:Label>
                </div>
            </div>
        </div>
    </div>
    <div id="center" class="center" style="background: url(../img/bookMain.png) 0 0 repeat;">
        <div id="lineForDataGrid" class="line">
            <table id="tt" style="width: 100%; height: 600px; $(this).width() * 0.2;">
            </table>
        </div>
    </div>
    <div id="bottom" class="bottom" style="background: url(../img/bookBottom.png) 0 0 no-repeat;">
        MOOC教学
    </div>
    <div id="dlg" class="easyui-dialog" style="width: 350px; height: 200px; padding: 5px 10px"
        data-options="closed:true,buttons:'#dlg-buttons',modal:true">
        <form id="dlg_form" method="post">
            <div class="fitem">
                <label>实训名称:</label>
                <input name="name" id="name" class="easyui-textbox" required="true" />
            </div>
            <div class="fitem">
                <label>备注:</label>
                <input name="remark" id="remark" class="easyui-textbox" data-options="multiline:true" style="width: 220px; height: 70px;" />
            </div>
        </form>
    </div>
    <div id="dlg-buttons">
        <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-ok" onclick="fSaveData()">保存
        </a>
        <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel"
            onclick="javascript:$('#dlg').dialog('close')">取消
        </a>
    </div>
    <%--资源管理开始--%>
    <div id="Resourcedlg" class="easyui-dialog" style="width: 850px; height: 550px;"
        data-options="closed:true,modal:true">
        <div class="line">
            <table id="ttResource" style="width: 100%; height: 500px; $(this).width() * 0.2;">
            </table>
        </div>
        <div id="dlgForResource" class="easyui-dialog" style="width: 850px; height: 530px; padding: 5px 10px"
            data-options="closed:true,buttons:'#dlgForResource-buttons',modal:true">
            <form id="dlg_formForResource" method="post">
                <div class="fitem resource">
                    <label>实训类型:</label>
                    <input name="trainingTypeId" id="trainingTypeId" class="easyui-combobox" required="true" data-options="valueField:'id',textField:'name',editable:false" />
                </div>
                <div class="fitem resource">
                    <label>资源名称:</label>
                    <input name="trainingName" id="trainingName" class="easyui-textbox" required="true" />
                </div>
                <div class="fitem resource">
                    <label>缩略图:</label>
                    <input name="pic" id="pic" class="easyui-filebox" data-options="buttonText: '选择文件',buttonAlign: 'right'" style="width: 200px;" />
                </div>
                <div class="fitem resource">
                    <label style="float: left; line-height: 350px;">资源内容:</label>
                    <%--<input name="content" id="content" class="easyui-textbox" data-options="multiline:true" style="width: 700px; height: 350px;" />--%>
                    <input type="text" name="content" id="content" style="width: 720px; height: 350px; float: right;" />
                </div>
            </form>
        </div>
        <div id="dlgForResource-buttons">
            <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-ok" onclick="fSaveResourceData()">保存
            </a>
            <a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel"
                onclick="javascript:$('#dlgForResource').dialog('close')">取消
            </a>
        </div>
    </div>
    <%--资源管理结束--%>
    <script src="../js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/My97DatePicker/WdatePicker.js" type="text/javascript" charset="utf-8"></script>
    <script src="../js/jquery-easyui-1.4.3/jquery.easyui.min.js" type="text/javascript"></script>
    <script src="../js/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
    <script charset="utf-8" src="../js/kindeditor-all.js"></script>
    <script charset="utf-8" src="../js/lang/zh-CN.js"></script>
    <script charset="utf-8" src="../js/plugins/code/prettify.js"></script>
    <script>
        KindEditor.ready(function (K) {
            var editor1 = K.create('#content', {
                cssPath: '../js/plugins/code/prettify.css',
                uploadJson: 'upload_json.ashx',
                fileManagerJson: 'file_manager_json.ashx',
                allowFileManager: true,
                afterCreate: function () {
                    var self = this;
                    K.ctrl(document, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                    K.ctrl(self.edit.doc, 13, function () {
                        self.sync();
                        K('form[name=example]')[0].submit();
                    });
                },
                afterBlur: function () { this.sync(); }//这一步非常重要,如果遗漏,则后台无法接收到数据。
            });
            prettyPrint();
        });
    </script>
    <script src="../js/common.js"></script>
    <script type="text/javascript">
        var vTrainingTypeID = 0;
        $(function () {
            var vWindowHeight = document.body.scrollHeight;
            var vCenterHeight = vWindowHeight - 131 - 82;
            $("#center").height(vCenterHeight);
            var vMargionTop = (vCenterHeight - 360) / 2;
            $(".centerBook").css("margin-top", vMargionTop);
            fLoadTable();//加载参数
            fLoadResourceTable();
            $('#tt').datagrid('reload', {
                method: 'firstLoad'
            });
            //设置高度
            $("#lineForDataGrid").find(".panel").find(".datagrid-wrap").css("height", vCenterHeight + "px");
            fAddLog("管理员版MOOC教学");
        })
        function fLoadTable() {
            $('#tt').datagrid({
                title: '',
                url: location.href,
                pagination: true,
                pageSize: 20,
                pagePosition: 'top',
                striped: true,
                //singleSelect: true,
                ctrlSelect: true,//在启用多行选择的时候允许使用Ctrl键+鼠标点击的方式进行多选操作。
                rownumbers: true,
                columns: [[
                    { field: 'id', title: 'id', align: 'center', hidden: true },
                    { field: 'name', title: '实训类型', align: 'center' },
                    { field: 'remark', title: '备注', align: 'center' },
                    { field: 'createDate', title: '新增日期', align: 'center' },
                    { field: 'modifyDate', title: '修改日期', align: 'center' },
                    { field: 'edit', title: '资源', align: 'center', formatter: fEditResource }
                ]],
                toolbar: [{
                    text: '增加',
                    iconCls: 'icon-add',
                    handler: function () {
                        $('#dlg').dialog('open').dialog('setTitle''新增实训信息');
                        $('#dlg_form').form('clear');
                        vUrl = location.href + '?type=add';
                    }
                }, {
                    text: '修改',
                    iconCls: 'icon-edit',
                    handler: function () {
                        var row = $('#tt').datagrid('getSelected');
                        if (row) {
                            $('#dlg').dialog('open').dialog('setTitle''修改实训信息');
                            $('#dlg_form').form('load', row);
                            vUrl = location.href + '?type=modify&id=' + row.id;
                        } else {
                            $.messager.alert('提示''请至少选中一项作为修改项.')
                        }
                    }
                }, '-', {
                    text: '删除',
                    iconCls: 'icon-remove',
                    handler: function () {
                        var row = $('#tt').datagrid('getSelected');
                        if (row) {
                            $.messager.confirm('提示''您确定要删除这个用户信息吗?'function (r) {
                                if (r) {
                                    vUrl = location.href + '?type=del&id=' + row.id;
                                    $.ajax({
                                        type: "POST",
                                        url: vUrl,
                                        success: function (json) {
                                            var json = eval('(' + json + ')');
                                            if (json.result == true) {
                                                $.messager.show({
                                                    title: 'Success',
                                                    msg: '删除成功!'
                                                });
                                                $('#dlg').dialog('close');
                                                // close the dialog
                                                $('#tt').datagrid('reload'); // reload the user data
                                            } else {
                                                $.messager.show({
                                                    title: 'Error',
                                                    msg: '删除失败,请稍后再试!'
                                                });
                                                $('#dlg').dialog('close');
                                                // close the dialog
                                                $('#tt').datagrid('reload'); // reload the user data
                                            }
                                        }
                                    });
                                }
                            });
                        }
                        else {
                            $.messager.alert('提示''请至少选中一项作为删除项.')
                        }
                    }
                }]
            });
        };
        function fSaveData() {
            $('#dlg_form').form('submit', {
                url: vUrl,
                onSubmit: function () {
                    return $(this).form('validate');
                },
                success: function (sjson) {
                    var json = eval('(' + sjson + ')');
                    if (json.result == true) {
                        $.messager.show({
                            title: 'Success',
                            msg: json.msg ? json.msg : '操作成功!'
                        });
                        $('#dlg').dialog('close');     // close the dialog
                        $('#tt').datagrid('reload'); // reload the user data
                    } else {
                        $.messager.show({
                            title: 'Error',
                            msg: json.msg ? json.msg : '操作失败,请稍后再试!'
                        });
                        $('#dlg').dialog('close');     // close the dialog
                    }
                },
                error: function () {
                    $.messager.show({
                        title: 'Error',
                        msg: json.msg ? json.msg : '操作失败,请稍后再试!'
                    });
                    $('#dlg').dialog('close');     // close the dialog
                }
            });
        }
        function fEditResource(rowIndex, rowData) {
            return '<a href="javascript:fOpenResourceManagement(\'' + rowData.id + '\',\'' + rowData.name + '\')">管理资源</a>';
        }
        function fOpenResourceManagement(id, name) {
            $('#Resourcedlg').dialog('open').dialog('setTitle''管理' + name + '资源信息');
            vTrainingTypeID = id;
        }
        function fLoadResourceTable() {
            $('#ttResource').datagrid({
                title: '',
                url: location.href,
                pagination: true,
                pageSize: 20,
                pagePosition: 'top',
                striped: true,
                //singleSelect: true,
                ctrlSelect: true,//在启用多行选择的时候允许使用Ctrl键+鼠标点击的方式进行多选操作。
                rownumbers: true,
                columns: [[
                    { field: 'id', title: 'id', align: 'center', hidden: true },
                    { field: 'trainingTypeId', title: 'trainingTypeId', align: 'center', hidden: true },
                    { field: 'trainingTypeName', title: '实训类型', align: 'center' },
                    { field: 'name', title: '资源名称', align: 'center' },
                    { field: 'content', title: '资源内容', align: 'center' },
                    { field: 'createDate', title: '新增日期', align: 'center' },
                    { field: 'modifyDate', title: '修改日期', align: 'center' },
                    { field: 'preview', title: '预览', align: 'center', formatter: fEditResource }
                ]],
                toolbar: [{
                    text: '增加',
                    iconCls: 'icon-add',
                    handler: function () {
                        $('#dlgForResource').dialog('open').dialog('setTitle''新增资源信息');
                        $('#trainingTypeId').combobox('reload''MOOCEducationManagement.aspx?type=loadTrainingType');
                        $('#dlg_formForResource').form('clear');
                        $('#trainingTypeId').combobox('select', vTrainingTypeID);
                        vUrl = location.href + '?type=addResource';
                    }
                }, {
                    text: '修改',
                    iconCls: 'icon-edit',
                    handler: function () {
                        var row = $('#ttResourcet').datagrid('getSelected');
                        if (row) {
                            $('#dlgForResource').dialog('open').dialog('setTitle''修改资源信息');
                            $('#trainingTypeId').combobox('reload''MOOCEducationManagement.aspx?type=loadTrainingType');
                            $('#dlg_formForResource').form('load', row);
                            vUrl = location.href + '?type=modifyResource&id=' + row.id;
                        } else {
                            $.messager.alert('提示''请至少选中一项作为修改项.')
                        }
                    }
                }, '-', {
                    text: '删除',
                    iconCls: 'icon-remove',
                    handler: function () {
                        var row = $('#ttResource').datagrid('getSelected');
                        if (row) {
                            $.messager.confirm('提示''您确定要删除这个资源信息吗?'function (r) {
                                if (r) {
                                    vUrl = location.href + '?type=delResource&id=' + row.id;
                                    $.ajax({
                                        type: "POST",
                                        url: vUrl,
                                        success: function (json) {
                                            var json = eval('(' + json + ')');
                                            if (json.result == true) {
                                                $.messager.show({
                                                    title: 'Success',
                                                    msg: '删除成功!'
                                                });
                                                $('#dlgForResource').dialog('close');
                                                // close the dialog
                                                $('#ttResource').datagrid('reload'); // reload the user data
                                            } else {
                                                $.messager.show({
                                                    title: 'Error',
                                                    msg: '删除失败,请稍后再试!'
                                                });
                                                $('#dlgForResource').dialog('close');
                                                // close the dialog
                                                $('#ttResource').datagrid('reload'); // reload the user data
                                            }
                                        }
                                    });
                                }
                            });
                        }
                        else {
                            $.messager.alert('提示''请至少选中一项作为删除项.')
                        }
                    }
                }]
            });
        };
        function fSaveResourceData() {
            var vStatus = $("#dlg_formForResource").form('validate');
            if (vStatus) {
                var formData = new FormData($("#dlg_formForResource")[0]);
                $.ajax({
                    url: vUrl,
                    type: 'POST',
                    data: formData,
                    async: false,
                    cache: false,
                    contentType: false,
                    processData: false,
                    //                    dataType: "jsonp",//问题就在这里,如果用了jsonp,那么后台就接收不到文件流,无法获得文件流,就没办法把文件写入服务器。如果不指定,就是注释掉,虽然ajax提交之后,还是跑到error那里去,但是文件已经是成功写入服务器的了。
                    jsonp: "jsoncallback",
                    success: function (returndata) {
                        var json = eval('(' + returndata + ')');
                        if (json.result == true) {
                            $.messager.show({
                                title: 'Success',
                                msg: json.msg ? json.msg : '操作成功!'
                            });
                            $('#dlgForResource').dialog('close');     // close the dialog
                            $('#ttResource').datagrid('reload'); // reload the user data
                        } else {
                            $.messager.show({
                                title: 'Error',
                                msg: json.msg ? json.msg : '操作失败,请稍后再试!'
                            });
                            $('#dlgForResource').dialog('close');     // close the dialog
                        }
                    },
                    error: function (returndata) {
                        var json = eval('(' + returndata + ')');
                        $.messager.show({
                            title: 'Error',
                            msg: json.msg ? json.msg : '操作失败,请稍后再试!'
                        });
                        $('#dlgForResource').dialog('close');     // close the dialog
                    }
                });
            }
            else {
                return $("#dlg_formForResource").form('validate');
            }
            //$('#dlg_formForResource').form('submit', {
            //    url: vUrl,
            //    onSubmit: function () {
            //        return $(this).form('validate');
            //    },
            //    success: function (sjson) {
            //        var json = eval('(' + sjson + ')');
            //        if (json.result == true) {
            //            $.messager.show({
            //                title: 'Success',
            //                msg: json.msg ? json.msg : '操作成功!'
            //            });
            //            $('#dlgForResource').dialog('close');     // close the dialog
            //            $('#ttResource').datagrid('reload'); // reload the user data
            //        } else {
            //            $.messager.show({
            //                title: 'Error',
            //                msg: json.msg ? json.msg : '操作失败,请稍后再试!'
            //            });
            //            $('#dlgForResource').dialog('close');     // close the dialog
            //        }
            //    },
            //    error: function () {
            //        $.messager.show({
            //            title: 'Error',
            //            msg: json.msg ? json.msg : '操作失败,请稍后再试!'
            //        });
            //        $('#dlgForResource').dialog('close');     // close the dialog
            //    }
            //});
        }
    </script>
</body>
</html>


后台代码:
using LmxPublic;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Web.Admin
{
    public partial class MOOCEducationManagement : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.Form["method"] == "firstLoad")
                {
                    List<trainingtype> list = dataLoader.getTrainingTypeList();
                    int page = string.IsNullOrWhiteSpace(Request["page"]) ? 1 : Int32.Parse(Request["page"]);
                    int rows = string.IsNullOrWhiteSpace(Request["rows"]) ? 1 : Int32.Parse(Request["rows"]);
                    string order = string.IsNullOrWhiteSpace(Request["order"]) ? "desc" : Request["order"].ToUpper();
                    string sort = string.IsNullOrWhiteSpace(Request["sort"]) ? "id" : Request["sort"];
                    IQueryable<trainingtype> query = CommonTools.DataSorting<trainingtype>(list.AsQueryable(), sort, order).Skip((page - 1) * rows).Take(rows);
                    Response.Write(JsonHelper.Serialize(new { total = list.Count, rows = query }));
                    Response.End();
                }
                if (Request.QueryString["type"] == "add")
                {
                    string strMsg;
                    if (AddObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "modify")
                {
                    string strMsg;
                    if (ModifyObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "del")
                {
                    string strMsg;
                    if (DelObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "addResource")
                {
                    string strMsg;
                    if (AddResourceObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "modifyResource")
                {
                    string strMsg;
                    if (ModifyResourceObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "delResource")
                {
                    string strMsg;
                    if (DelResourceObject(out strMsg))
                    {
                        Response.Write(JsonHelper.Serialize(new { result = true, msg = strMsg }));
                    }
                    else
                    {
                        Response.Write(JsonHelper.Serialize(new { result = false, msg = strMsg }));
                    }
                    Response.End();
                }
                if (Request.QueryString["type"] == "loadTrainingType")
                {
                    List<trainingtype> list = dataLoader.getTrainingTypeList();
                    string strJson = JsonHelper.Serialize(list);
                    Response.Write(strJson);
                    Response.End();
                }
                if (Session["systemUser"] != null)
                {
                    systemuser aUser = (systemuser)(Session["systemUser"]);
                    if (aUser != null)
                    {
                        lbUserName.Text = aUser.name;
                    }
                    else
                    {
                        Response.Redirect("/index.aspx");
                    }
                }
                else
                {
                    Response.Redirect("/index.aspx");
                }
            }
        }
        /// <summary>
        /// 增加一个对一个对象.
        /// </summary>
        /// <returns></returns>
        private bool AddObject(out string strMsg)
        {
            string name = Request.Form["name"];
            string remark = Request.Form["remark"];
            bool bPass = false;
            try
            {
                using (trainingsystemEntities ent = new trainingsystemEntities())
                {
                    trainingtype aNewModel = new trainingtype()
                    {
                        createDate = DateTime.Now,
                        isDelete = false,
                        modifyDate = DateTime.Now,
                        name = name,
                        remark = remark
                    };
                    ent.trainingtype.Add(aNewModel);
                    if (ent.SaveChanges() > 0)
                    {
                        bPass = true;
                        strMsg = "增加成功。";
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "增加失败,请稍后再试。";
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.Message;
                bPass = false;
            }
            return bPass;
        }
        /// <summary>
        /// 更新一个对象.
        /// </summary>
        /// <returns></returns>
        private bool ModifyObject(out string strMsg)
        {
            string id = Request.QueryString["id"];
            string name = Request.Form["name"];
            string remark = Request.Form["remark"];
            int iId = DataFormat.ConvertDBNullToInt32(id);
            bool bPass = false;
            try
            {
                using (trainingsystemEntities ent = new trainingsystemEntities())
                {
                    trainingtype aModel = (from c in ent.trainingtype where c.id == iId && c.isDelete != true select c).FirstOrDefault();
                    if (aModel != null)
                    {
                        aModel.modifyDate = DateTime.Now;
                        aModel.name = name;
                        aModel.remark = remark;
                        if (ent.SaveChanges() > 0)
                        {
                            bPass = true;
                            strMsg = "修改成功。";
                        }
                        else
                        {
                            bPass = false;
                            strMsg = "修改失败,请稍后再试。";
                        }
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "不存在此记录,请稍后再试。";
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.Message;
                bPass = false;
                //throw;
            }
            return bPass;
        }
        /// <summary>
        /// 删除一个对象.
        /// </summary>
        /// <returns></returns>
        private bool DelObject(out string strMsg)
        {
            string id = Request.QueryString["id"];
            int iID = DataFormat.ConvertDBNullToInt32(id);
            bool bPass = false;
            using (trainingsystemEntities ent = new trainingsystemEntities())
            {
                trainingtype aModel = (from c in ent.trainingtype where c.id == iID && c.isDelete == false select c).FirstOrDefault();
                try
                {
                    if (aModel != null)
                    {
                        aModel.isDelete = true;
                        if (ent.SaveChanges() > 0)
                        {
                            bPass = true;
                            strMsg = "删除成功。";
                        }
                        else
                        {
                            bPass = false;
                            strMsg = "删除失败,请稍后再试。";
                        }
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "不存在此记录,请稍后再试。";
                    }
                }
                catch (Exception ex)
                {
                    bPass = false;
                    strMsg = ex.Message;
                }
            }
            return bPass;
        }
        /// <summary>
        /// 增加一个对一个对象.
        /// </summary>
        /// <returns></returns>
        private bool AddResourceObject(out string strMsg)
        {
            string trainingTypeId = Request.Form["trainingTypeId"];
            string trainingName = Request.Form["trainingName"];
            string pic = Request.Form["pic"];
            //pic = pic.Substring(pic.LastIndexOf("/fakepath") + 9);// 取出文件名的路径(不包括文件的名称) 
            string content = Request.Form["content"];
            int iTrainingTypeID = DataFormat.ConvertDBNullToInt32(trainingTypeId);
            HttpFileCollection files = HttpContext.Current.Request.Files;
            byte[] b = new byte[files[0].ContentLength];
            System.IO.Stream fs = (System.IO.Stream)files[0].InputStream;
            fs.Read(b, 0, files[0].ContentLength);
            ///定义并实例化一个内存流,以存放提交上来的字节数组。
            MemoryStream m = new MemoryStream(b);
            ///定义实际文件对象,保存上载的文件。
            FileStream f = new FileStream(Server.MapPath("\\Admin\\attached") + "\\"
             + files[0].FileName, FileMode.Create);
            ///把内内存里的数据写入物理文件
            m.WriteTo(f);
            m.Close();
            f.Close();
            f = null;
            m = null;
            pic =  files[0].FileName;
            bool bPass = false;
            try
            {
                using (trainingsystemEntities ent = new trainingsystemEntities())
                {
                    trainingresource aNewModel = new trainingresource()
                    {
                        content = content,
                        createDate = DateTime.Now,
                        isDelete = false,
                        modifyDate = DateTime.Now,
                        name = trainingName,
                        pic = pic,
                        trainingTypeId = iTrainingTypeID
                    };
                    ent.trainingresource.Add(aNewModel);
                    ent.Configuration.ValidateOnSaveEnabled = false;//关闭验证
                    if (ent.SaveChanges() > 0)
                    {
                        ent.Configuration.ValidateOnSaveEnabled = true;//关闭验证
                        bPass = true;
                        strMsg = "增加成功。";
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "增加失败,请稍后再试。";
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.Message;
                bPass = false;
            }
            return bPass;
        }
        /// <summary>
        /// 更新一个对象.
        /// </summary>
        /// <returns></returns>
        private bool ModifyResourceObject(out string strMsg)
        {
            string id = Request.QueryString["id"];
            string trainingTypeId = Request.Form["trainingTypeId"];
            string trainingName = Request.Form["trainingName"];
            string pic = Request.Form["pic"];
            string content = Request.Form["content"];
            int iTrainingTypeID = DataFormat.ConvertDBNullToInt32(trainingTypeId);
            int iId = DataFormat.ConvertDBNullToInt32(id);
            bool bPass = false;
            try
            {
                using (trainingsystemEntities ent = new trainingsystemEntities())
                {
                    trainingresource aModel = (from c in ent.trainingresource where c.id == iId && c.isDelete != true select c).FirstOrDefault();
                    if (aModel != null)
                    {
                        aModel.modifyDate = DateTime.Now;
                        aModel.trainingTypeId = iTrainingTypeID;
                        aModel.content = content;
                        aModel.name = trainingName;
                        aModel.pic = pic;
                        if (ent.SaveChanges() > 0)
                        {
                            bPass = true;
                            strMsg = "修改成功。";
                        }
                        else
                        {
                            bPass = false;
                            strMsg = "修改失败,请稍后再试。";
                        }
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "不存在此记录,请稍后再试。";
                    }
                }
            }
            catch (Exception ex)
            {
                strMsg = ex.Message;
                bPass = false;
                //throw;
            }
            return bPass;
        }
        /// <summary>
        /// 删除一个对象.
        /// </summary>
        /// <returns></returns>
        private bool DelResourceObject(out string strMsg)
        {
            string id = Request.QueryString["id"];
            int iID = DataFormat.ConvertDBNullToInt32(id);
            bool bPass = false;
            using (trainingsystemEntities ent = new trainingsystemEntities())
            {
                trainingtype aModel = (from c in ent.trainingtype where c.id == iID && c.isDelete == false select c).FirstOrDefault();
                try
                {
                    if (aModel != null)
                    {
                        aModel.isDelete = true;
                        if (ent.SaveChanges() > 0)
                        {
                            bPass = true;
                            strMsg = "删除成功。";
                        }
                        else
                        {
                            bPass = false;
                            strMsg = "删除失败,请稍后再试。";
                        }
                    }
                    else
                    {
                        bPass = false;
                        strMsg = "不存在此记录,请稍后再试。";
                    }
                }
                catch (Exception ex)
                {
                    bPass = false;
                    strMsg = ex.Message;
                }
            }
            return bPass;
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            string strMsg="";
            AddResourceObject(out strMsg);
        }
    }
}  



附件列表

     

    posted @ 2016-04-29 12:08  南宫萧尘  阅读(3842)  评论(1编辑  收藏  举报