疯狂代码 UI层演示

自动生成页面的全部操作,删除,更新,编辑,查看,列表,分页,多列删除,多列更新,输出Excel,输出XMl,等等

      #region 属性
        protected int pageSize;//页面大小
        protected int pageIndex;//当前页码
        protected int recordCount;//总记录数
        protected string keyword;//关键字
        protected string keywordField;//关键字字段
        protected int keywordType;//关键字类型 0全字匹配 1包含 2以关键字开头 3以关键字结尾 4含有匹配符
        protected string orderByField;//排序字段
        protected bool isAsc;//是否升序
        protected string querys;//查询?后的字符串
        protected System.Int32 CategoryID;//当前的查询字段
        protected CategoryInfo objCategoryInfo;//列表中绑定的对象实例
        #endregion
        #region PageLoad
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsSupperAdmin)
            {
                //如果不是超级管理员,那么重定向到登陆页面
                Response.Redirect(FormsAuthentication.LoginUrl);
                return;
            }
            CategoryID = Requests.GetQueryInt("CategoryID", 0);
            if (!Page.IsPostBack)
            {
                Page.EnableViewState = false;
                Title = "分类信息表 数据列表";
                pageSize = Requests.GetQueryInt("pageSize", 10);
                pageIndex = Requests.GetQueryInt("page", 1);
                keyword = Request.QueryString["Keyword"];
                keywordField = Request.QueryString["KeywordField"];
                keywordType = Requests.GetQueryInt("KeywordType", 0);
                orderByField = Request.QueryString["OrderByField"];
                isAsc = Request.QueryString["IsAsc"] == "1" ? true : false;
                GetQuery();
                switch (PageAction)
                {
                    #region 生成器代码
                    case "Show":
                        ShowDataItem();
                        return;
                    case "Delete":
                        DeleteRow();
                        return;
                    case "DeleteSelected":
                        DeleteSelected();
                        return;
                    case "Add":
                        AddInit();
                        return;
                    case "Edit":
                        EditInit(false);
                        return;
                    case "Copy":
                        EditInit(true);
                        return;
                    case "UpdateSelectedCheckBox":
                        UpdateSelectedCheckBox();
                        return;
                    case "UpdateSelectedNumColumn":
                        UpdateSelectedNumColumn();
                        return;
                    case "Xml"://列表转换为xml文件
                        ToXml();
                        return;
                    case "ToItemXml"://单行转转为XML文件
                        ToItemXml();
                        return;
                    case "Csv":
                        ToCsv();
                        return;
                    case "Excel":
                        ToExcel();
                        return;
                    case "DataEntryXML":
                        DataEntryXML();
                        return;
                    case "ToTableSql":
                        ToSql(0);
                        return;
                    case "ToInsertSql":
                        ToSql(1);
                        return;
                    case "ToUpdateSql":
                        ToSql(2);
                        return;
                    case "SaveField":
                        SaveField();
                        return;
                    #endregion
                    default:
                        break;
                }
                ShowDataList();
            }
        }
        #endregion
        #region 获取URL参数  void GetQuery()
        /// <summary>
        /// 获取URL参数
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void GetQuery()
        {
            StringBuilder sbQuery = new StringBuilder();
            sbQuery.Append("Search=").Append(Request.QueryString["Search"]).Append("&PageSize=").Append(pageSize);
            sbQuery.Append("&Page=").Append(pageIndex).Append("&keyword=").Append(HttpUtility.UrlEncodeUnicode(keyword)).Append("&KeywordField=");
            sbQuery.Append(HttpUtility.UrlEncodeUnicode(keywordField)).Append("&KeywordType=").Append(keywordType).Append("&OrderByField=").Append(HttpUtility.UrlEncodeUnicode(orderByField));
            sbQuery.Append("&IsAsc=").Append(isAsc);
            querys = sbQuery.ToString();
        }
        #endregion
        #region 显示单行数据 ShowDataItem()
        /// <summary>
        /// 显示单行数据
        /// </summary>
        private void ShowDataItem()
        {
            if (CategoryID <= 0)
            {
                AlertReturn("无效的参数");
                return;
            }
            plList.Visible = false;
            plEdit.Visible = false;
            plShow.Visible = true;
            objCategoryInfo = CategoryProvider.GetCategoryInfoByCategoryID(CategoryID);
            if (objCategoryInfo == null)
            {
                AlertReturn("您要查看的数据不存在");
                return;
            }
        }
        #endregion
        #region 获取数据列表  CategoryInfoCollection GetDataList()
        /// <summary>
        /// 获取数据列表
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        /// <returns></returns>
        private CategoryInfoCollection GetDataList()
        {
            #region 页码和页面大小
            recordCount = 0;
            if (pageIndex <= 0)
            {
                pageIndex = 1;
            }
            if (pageSize <= 0)
            {
                pageSize = 10;
            }
            #endregion
            CategoryInfoCollection list = new CategoryInfoCollection();
            if (string.IsNullOrEmpty(Request.QueryString["Search"]) || Request.QueryString["Keyword"] == "*")
            {
                list = CategoryProvider.GetList(pageIndex, pageSize, out recordCount);
            }
            else
            {
                if (Request.QueryString["PageSize"] == "0" && string.IsNullOrEmpty(Request.QueryString["page"]))
                {
                    //表示要求的返回的是全部的记录
                    pageSize = 0;
                    pageIndex = 0;
                }
                list = CategoryProvider.GetSearchDataList(keyword, keywordField, keywordType, orderByField, isAsc, pageIndex, pageSize, out recordCount);
            }
            if (pageIndex <= 1)
            {
                //数据在表中的排名
                for (int i = 0; i < list.Count; i++)
                {
                    list[i].RowIndex = i + 1;
                }
            }
            return list;
        }
        #endregion
        #region 绑定数据列表 void ShowDataList()
        /// <summary>
        /// 绑定数据列表
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void ShowDataList()
        {
            rptList.DataSource = GetDataList();
            rptList.DataBind();
            ltlPager.Text = Pager.LastNextPage("page", pageSize, recordCount);
        }
        #endregion
        #region 输出为XML文档  void ToXml()
        /// <summary>
        /// 输出为XML文档
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void ToXml()
        {
            Response.Clear();
            Response.ContentType = "text/xml";
            Response.AddHeader("Content-Disposition", "attachment; filename=\"CategoryInfoCollection.xml\"");
            CategoryInfoCollection list = GetDataList();
            Response.Buffer = true;
            System.IO.TextWriter ioout = Response.Output;
            string sFldParm;
            ioout.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>");
            System.Xml.XmlDocument oXmlDoc = new System.Xml.XmlDocument();
            System.Xml.XmlElement oXmlRoot = oXmlDoc.CreateElement("root");
            System.Xml.XmlElement oXmlTbl = oXmlDoc.CreateElement("CategoryInfoCollection");
            System.Xml.XmlTextWriter xmlWriter = new System.Xml.XmlTextWriter(ioout);
            foreach (CategoryInfo obj in list)
            {
                System.Xml.XmlElement oXmlRec = oXmlDoc.CreateElement("CategoryInfo");
                System.Xml.XmlElement oXmlField;
                sFldParm = "CategoryID";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.CategoryID.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "Name";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.Name == null ? "" : obj.Name;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "ParentID";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.ParentID.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "SortID";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.SortID.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "Intro";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.Intro == null ? "" : obj.Intro;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "MetaKeyword";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.MetaKeyword == null ? "" : obj.MetaKeyword;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "MetaDescription";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.MetaDescription == null ? "" : obj.MetaDescription;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "FolderName";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.FolderName == null ? "" : obj.FolderName;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "IndexPageName";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.IndexPageName == null ? "" : obj.IndexPageName;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "ListType";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.ListType.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "LinkUrl";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.LinkUrl == null ? "" : obj.LinkUrl;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "MorePageUrl";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.MorePageUrl == null ? "" : obj.MorePageUrl;
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "AdList";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.AdList.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "AdArticle";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.AdArticle.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "AdPosition1";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.AdPosition1.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "AdPosition2";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.AdPosition2.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "AdPosition3";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.AdPosition3.ToString();
                oXmlRec.AppendChild(oXmlField);
                sFldParm = "AdPosition4";
                oXmlField = oXmlDoc.CreateElement(sFldParm);
                oXmlField.InnerText = obj.AdPosition4.ToString();
                oXmlRec.AppendChild(oXmlField);
                oXmlTbl.AppendChild(oXmlRec);
            }
            oXmlRoot.AppendChild(oXmlTbl);
            oXmlRoot.WriteContentTo(xmlWriter);
            Response.End();
        }
        #endregion
        #region 输出单行记录为XML文件  void ToItemXml()
        /// <summary>
        /// 输出单行记录为XML文件
        /// </summary>
        public void ToItemXml()
        {
            Response.Clear();
            Response.ContentType = "text/xml";
            Response.AddHeader("Content-Disposition", "attachment; filename=\"CategoryInfo.xml\"");
            CategoryInfo obj = CategoryProvider.GetCategoryInfoByCategoryID(CategoryID);
            System.IO.TextWriter ioout = Response.Output;
            ioout.Write(obj.ToXml());
            Response.End();
        }
        #endregion
        #region 输出为CSV void ToCsv()
        /// <summary>
        /// 输出为CSV
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void ToCsv()
        {
            Response.Clear();
            Response.ContentType = "application/csv; charset=utf-8";
            Response.AddHeader("Content-Disposition", "attachment; filename=\"CategoryInfoCollection.csv\"");
            CategoryInfoCollection list = GetDataList();
            Response.Buffer = true;
            System.IO.TextWriter ioout = Response.Output;
            string sFldParm;
            System.Text.StringBuilder sCsvStr = new StringBuilder();
            // Output header
            sCsvStr.Append("\"CategoryID\",");
            sCsvStr.Append("\"Name\",");
            sCsvStr.Append("\"ParentID\",");
            sCsvStr.Append("\"SortID\",");
            sCsvStr.Append("\"Intro\",");
            sCsvStr.Append("\"MetaKeyword\",");
            sCsvStr.Append("\"MetaDescription\",");
            sCsvStr.Append("\"FolderName\",");
            sCsvStr.Append("\"IndexPageName\",");
            sCsvStr.Append("\"ListType\",");
            sCsvStr.Append("\"LinkUrl\",");
            sCsvStr.Append("\"MorePageUrl\",");
            sCsvStr.Append("\"AdList\",");
            sCsvStr.Append("\"AdArticle\",");
            sCsvStr.Append("\"AdPosition1\",");
            sCsvStr.Append("\"AdPosition2\",");
            sCsvStr.Append("\"AdPosition3\",");
            sCsvStr.Append("\"AdPosition4\",");
            if (sCsvStr.Length > 0) { sCsvStr.Remove(sCsvStr.Length - 1, 1); }// 去除最后一个逗号
            sCsvStr.Append("\r\n");
            foreach (CategoryInfo obj in list)
            {

                sFldParm = "CategoryID";
                sCsvStr.Append(String.Concat("\"", obj.CategoryID.ToString(), "\"", ","));
                sFldParm = "Name";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.Name) ? "" : obj.Name.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "ParentID";
                sCsvStr.Append(String.Concat("\"", obj.ParentID.ToString(), "\"", ","));
                sFldParm = "SortID";
                sCsvStr.Append(String.Concat("\"", obj.SortID.ToString(), "\"", ","));
                sFldParm = "Intro";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.Intro) ? "" : obj.Intro.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "MetaKeyword";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.MetaKeyword) ? "" : obj.MetaKeyword.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "MetaDescription";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.MetaDescription) ? "" : obj.MetaDescription.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "FolderName";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.FolderName) ? "" : obj.FolderName.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "IndexPageName";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.IndexPageName) ? "" : obj.IndexPageName.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "ListType";
                sCsvStr.Append(String.Concat("\"", obj.ListType.ToString(), "\"", ","));
                sFldParm = "LinkUrl";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.LinkUrl) ? "" : obj.LinkUrl.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "MorePageUrl";
                sCsvStr.Append(String.Concat("\"", string.IsNullOrEmpty(obj.MorePageUrl) ? "" : obj.MorePageUrl.Replace("\"", "\"\""), "\"", ","));
                sFldParm = "AdList";
                sCsvStr.Append(String.Concat("\"", obj.AdList.ToString(), "\"", ","));
                sFldParm = "AdArticle";
                sCsvStr.Append(String.Concat("\"", obj.AdArticle.ToString(), "\"", ","));
                sFldParm = "AdPosition1";
                sCsvStr.Append(String.Concat("\"", obj.AdPosition1.ToString(), "\"", ","));
                sFldParm = "AdPosition2";
                sCsvStr.Append(String.Concat("\"", obj.AdPosition2.ToString(), "\"", ","));
                sFldParm = "AdPosition3";
                sCsvStr.Append(String.Concat("\"", obj.AdPosition3.ToString(), "\"", ","));
                sFldParm = "AdPosition4";
                sCsvStr.Append(String.Concat("\"", obj.AdPosition4.ToString(), "\"", ","));
                sCsvStr.Remove(sCsvStr.Length - 1, 1); //  去除最后一个逗号
                sCsvStr.Append("\r\n");
            }
            ioout.Write(sCsvStr.ToString());
            Response.End();
        }
        #endregion
        #region 输出为Excel  void ToExcel()
        /// <summary>
        /// 输出为Excel文件
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void ToExcel()
        {
            Response.Clear();
            Response.ContentType = "application/vnd.ms-excel; charset=utf-8";
            Response.AddHeader("Content-Disposition", "attachment; filename=\"CategoryInfoCollection.xls\"");
            CategoryInfoCollection list = GetDataList();
            Response.Buffer = true;
            string content = list.ExportExcelXml();
            System.IO.TextWriter ioout = Response.Output;
            ioout.Write(content);
            Response.End();
        }
        #endregion
        #region 输出为实体DataEntity XML 文档  void DataEntryXML()
        /// <summary>
        /// 输出为实体DataEntity XML 文档
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void DataEntryXML()
        {
            Response.Clear();
            Response.ContentType = "text/xml";
            Response.AddHeader("Content-Disposition", "attachment; filename=\"CategoryInfoDataEntry.xml\"");
            System.IO.TextWriter ioout = Response.Output;
            string xml = CategoryInfo.ToDataEntitiesMap();
            //Response.Write(xml);
            ioout.Write(xml);
            Response.End();
        }
        #endregion
        #region 输出为Sql语句 void ToSql(int type)
        /// <summary>
        /// 输出为Sql语句
        /// </summary>
        /// <param name="type">sql类型 0为表的Create 1为Insert 2为Update</param>
        public void ToSql(int type)
        {
            Response.Clear();
            Response.ContentType = "text/sql";
            string content = "";
            string fileName = "";
            switch (type)
            {
                case 1:
                    fileName = "Qst_Category_Insert";
                    content = GetDataList().ToInsertSql();
                    break;
                case 2:
                    fileName = "Qst_Category_Update";
                    content = GetDataList().ToUpdateSql();
                    break;
                case 0:
                default:
                    fileName = "Qst_Category_Create";
                    content = CategoryInfo.ToTableSql();
                    break;
            }
            Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}.sql\"", fileName));
            System.IO.TextWriter ioout = Response.Output;
            ioout.Write(content);
            Response.End();
        }
        #endregion
        #region 删除一条记录 void DeleteRow()
        /// <summary>
        /// 删除一条记录
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void DeleteRow()
        {
            Response.Clear();
            if (CategoryID <= 0)
            {
                Response.Write("您要删除的数据不存在");
                Response.End();
            }
            CategoryProvider.DeleteByCategoryID(CategoryID);
            Response.Write("818384");
            Response.End();
        }
        #endregion
        #region 删除选中的记录 void DeleteSelected()
        /// <summary>
        /// 删除选中的记录
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void DeleteSelected()
        {
            Response.Clear();
            string v = Request.Form["values"];
            if (string.IsNullOrEmpty(v))
            {
                Response.Write("无效的参数,请选择您要删除的数据");
                Response.End();
            }
            v = v.Replace("'", "").Replace(";", "").Replace("<", "").Replace(">", "").Replace("=", "").Replace("!", "").Trim();
            if (string.IsNullOrEmpty(v))
            {
                Response.Write("无效的参数,请选择您要删除的数据");
                Response.End();
            }
            string[] pks = v.Split(Convert.ToChar("|"));
            foreach (string pk in pks)
            {
                if (!string.IsNullOrEmpty(pk) && !string.IsNullOrEmpty(pk.Trim()))
                {
                    int id = CrazyCoder.Common.Web.WebFunctions.GetIntValue(pk.Trim(), 0);
                    if (id >= 1)
                    {
                        CategoryProvider.DeleteByCategoryID(id);
                    }
                }
            }
            Response.Write("818384");
            Response.End();
        }
        #endregion
        #region 更新选中项的选中状态 UpdateSelectedCheckBox()
        /// <summary>
        /// 更新选中项的选中状态
        /// </summary>
        private void UpdateSelectedCheckBox()
        {
            Response.Clear();
            string v = Request.Form["values"];
            if (string.IsNullOrEmpty(v))
            {
                Response.Write("无效的参数,请选择您要删除的数据");
                Response.End();
            }
            v = v.Replace("'", "").Replace(";", "").Replace("<", "").Replace(">", "").Replace("=", "").Replace("!", "").Trim();
            if (string.IsNullOrEmpty(v))
            {
                Response.Write("无效的参数,请选择您要删除的数据");
                Response.End();
            }
            string field = Request.Form["field"];
            if (string.IsNullOrEmpty(field))
            {
                Response.Write("无效的参数,请选择要更新的列名!");
                Response.End();
            }
            if (string.IsNullOrEmpty(Request.QueryString["IsChecked"]))
            {
                Response.Write("无效的参数,请确定是否选中");
                Response.End();
            }
            int checkValue = Requests.GetQueryInt("IsChecked", 0);
            v = v.Trim().Replace("|", ",").Replace(",,", "").Replace("'", "").Replace(";", "");
            if (v.LastIndexOf(",") == v.Length - 1)
            {
                v = v.Substring(0, v.Length - 1);
            }
            if (v.StartsWith(","))
            {
                v = v.Substring(1, v.Length - 1);
            }
            StringBuilder sb = new StringBuilder();
            sb.Append("Update [Qst_Category] set ");
            sb.Append(field);
            sb.Append("=");
            sb.Append(checkValue);
            sb.Append(" where CategoryID in (");
            sb.Append(v);
            sb.Append(")");
            string sql = sb.ToString();
            try
            {
                CategoryProvider.GetDataUpdateProvider().RunSql(sql);
            }
            catch (Exception ex)
            {
                Response.Write("更新失败:" + ex.Message);
                Response.End();
            }
            Response.Write("818384");
            Response.End();
        }
        #endregion
        #region 更新选中项的数值,仅对数字型 UpdateSelectedNumColumn()
        /// <summary>
        /// 更新选中项的选中状态
        /// </summary>
        private void UpdateSelectedNumColumn()
        {
            Response.Clear();
            string v = Request.Form["values"];
            if (string.IsNullOrEmpty(v))
            {
                Response.Write("无效的参数,请选择您要删除的数据");
                Response.End();
            }
            v = v.Replace("'", "").Replace(";", "").Replace("<", "").Replace(">", "").Replace("=", "").Replace("!", "").Trim();
            if (string.IsNullOrEmpty(v))
            {
                Response.Write("无效的参数,请选择您要删除的数据");
                Response.End();
            }
            string field = Request.Form["field"];
            if (string.IsNullOrEmpty(field))
            {
                Response.Write("无效的参数,请选择要更新的列名!");
                Response.End();
            }
            if (string.IsNullOrEmpty(Request.Form["intValue"]))
            {
                Response.Write("无效的参数,您只能填入整数型的值");
                Response.End();
            }
            int intValue = Requests.GetFormInt("intValue", 0);
            v = v.Trim().Replace("|", ",").Replace(",,", "").Replace("'", "").Replace(";", "");
            if (v.LastIndexOf(",") == v.Length - 1)
            {
                v = v.Substring(0, v.Length - 1);
            }
            if (v.StartsWith(","))
            {
                v = v.Substring(1, v.Length - 1);
            }
            StringBuilder sb = new StringBuilder();
            sb.Append("Update [Qst_Category] set ");
            sb.Append(field);
            sb.Append("=");
            sb.Append(intValue);
            sb.Append(" where [CategoryID] in (");
            sb.Append(v);
            sb.Append(")");
            string sql = sb.ToString();
            try
            {
                CategoryProvider.GetDataUpdateProvider().RunSql(sql);
            }
            catch (Exception ex)
            {
                Response.Write("更新失败:" + ex.Message);
                Response.End();
            }
            Response.Write("818384");
            Response.End();

        }
        #endregion
        #region 初始化添加 void AddInit()
        /// <summary>
        /// 初始化编辑
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void AddInit()
        {
            Title = "添加数据到分类信息表";
            plEdit.Visible = true;
            plList.Visible = false;
            Page.EnableViewState = true;
            ltlTitle.Text = "添加数据";
            btnUpdate.Text = "确认添加数据";
        }
        #endregion
        #region 初始化编辑或者复制数据 void EditInit(bool isCopy)
        /// <summary>
        /// 初始化编辑或者复制数据
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        /// <param name="isCopy">是否复制数据</param>
        private void EditInit(bool isCopy)
        {
            Page.EnableViewState = true;
            if (isCopy)
            {
                Title = "复制数据分类信息表的数据" + CategoryID;
                ltlTitle.Text = "复制数据" + CategoryID;
                btnUpdate.Text = "添加复制数据";
            }
            else
            {
                Title = "编辑数据分类信息表的数据" + CategoryID;
                ltlTitle.Text = "编辑数据" + CategoryID;
                btnUpdate.Text = "提交修改";
            }
            plList.Visible = false;
            plEdit.Visible = true;
            if (CategoryID <= 0)
            {
                AlertReturn("您要编辑的数据不存在");
                return;
            }
            CategoryInfo objCategoryInfo = CategoryProvider.GetCategoryInfoByCategoryID(CategoryID);
            if (objCategoryInfo == null)
            {
                AlertReturn("您要编辑的数据不存在!");
                return;
            }
            plCategoryID.Visible = true;
            ltlCategoryID.Text = objCategoryInfo.CategoryID.ToString();//
            txtName.Text = objCategoryInfo.Name; //分类名
            txtParentID.Text = objCategoryInfo.ParentID.ToString(); //非自增字段//父分类ID [GetList]
            txtSortID.Text = objCategoryInfo.SortID.ToString(); //非自增字段//
            ltlIntro.Text = objCategoryInfo.Intro;
            txtMetaKeyword.Text = objCategoryInfo.MetaKeyword; //
            txtMetaDescription.Text = objCategoryInfo.MetaDescription; //
            txtFolderName.Text = objCategoryInfo.FolderName; //
            txtIndexPageName.Text = objCategoryInfo.IndexPageName; //Index
            txtListType.Text = objCategoryInfo.ListType.ToString(); //非自增字段//列表类型 0为标题列表 1为摘要列表 2为全文列表
            txtLinkUrl.Text = objCategoryInfo.LinkUrl; //分类链接
            txtMorePageUrl.Text = objCategoryInfo.MorePageUrl; //
            txtAdList.Text = objCategoryInfo.AdList.ToString(); //非自增字段//列表广告位ID
            txtAdArticle.Text = objCategoryInfo.AdArticle.ToString(); //非自增字段//内容广告位
            txtAdPosition1.Text = objCategoryInfo.AdPosition1.ToString(); //非自增字段//广告位1
            txtAdPosition2.Text = objCategoryInfo.AdPosition2.ToString(); //非自增字段//广告位2
            txtAdPosition3.Text = objCategoryInfo.AdPosition3.ToString(); //非自增字段//广告位3
            txtAdPosition4.Text = objCategoryInfo.AdPosition4.ToString(); //非自增字段//广告位4
        }
        #endregion
        #region 保存单个字段操作  void SaveField()
        /// <summary>
        /// 保存单个字段操作
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        private void SaveField()
        {
            Response.Clear();
            //首先判断更新字段的依赖
            if (CategoryID <= 0)
            {
                Response.Write("无效的主键字段值");
                Response.End();
            }
            string fieldName = Request.QueryString["FieldName"];
            if (string.IsNullOrEmpty(fieldName))
            {
                Response.Write("无效字段名称!");
                Response.End();
            }
            string strValue = Request.QueryString["FieldValue"];
            if (string.IsNullOrEmpty(strValue))
            {
                Response.Write("无效字段数值,不能为空");
                Response.End();
            }
            if (Request.QueryString["Type"] == null)
            {
                Response.Write("无效字段数值!!!");
                Response.End();
            }
            int type = Requests.GetQueryInt("Type", 0);//0数字型 1布尔型 2字符型 3日期型     
            //bool isInt = WebFunctions.IsInt(Request.QueryString["FieldValue"]);
            int value = Requests.GetQueryInt("FieldValue", -818384);
            if (type <= 1 && value == -818384)
            {
                Response.Write("无效字段数值,数值不为整数");
                Response.End();
            }
            if (type == 1 && (value < 0 || value > 1))
            {
                //如果是布尔型
                Response.Write("无效字段数值,布尔型数值只能为0或者1");
                Response.End();
            }
            if (type == 3 && !WebFunctions.IsDateTime(strValue))
            {
                Response.Write("无效字段数值,不是有效的日期");
                Response.End();
            }
            try
            {
                if (fieldName.ToLower() == "name" || fieldName.ToLower() == "intro" || fieldName.ToLower() == "metakeyword" || fieldName.ToLower() == "metadescription" || fieldName.ToLower() == "foldername" || fieldName.ToLower() == "indexpagename" || fieldName.ToLower() == "linkurl" || fieldName.ToLower() == "morepageurl")
                {
                    CategoryProvider.UpdateColumnByCategoryID(fieldName, CategoryID, strValue);
                }
                else if (fieldName.ToLower() == "categoryid" || fieldName.ToLower() == "parentid" || fieldName.ToLower() == "sortid" || fieldName.ToLower() == "listtype" || fieldName.ToLower() == "adlist" || fieldName.ToLower() == "adarticle" || fieldName.ToLower() == "adposition1" || fieldName.ToLower() == "adposition2" || fieldName.ToLower() == "adposition3" || fieldName.ToLower() == "adposition4")
                {
                    CategoryProvider.UpdateColumnByCategoryID(fieldName, CategoryID, int.Parse(strValue));
                }
            }
            catch (Exception ex)
            {
                Response.Write("更新数据库失败" + ex.Message);
                Response.End();
            }
            Response.Write("818384");
            Response.End();
        }
        #endregion
        #region 数据保存  protected void btnUpdate_Click(object sender, EventArgs e)
        /// <summary>
        /// 数据保存
        /// Created By CrazyCoder 疯狂代码 2008-5-23 11:03:56
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            Page.Validate();
            CategoryInfo obj = new CategoryInfo();
            bool isEdit = false;
            if (Request.QueryString["Action"] == "Edit")
            {
                isEdit = true;
                if (CategoryID <= 0)
                {
                    AlertReturn("您要编辑的数据不存在");
                    return;
                }
                obj = CategoryProvider.GetCategoryInfoByCategoryID(CategoryID);
                if (obj == null)
                {
                    AlertReturn("您要编辑的数据不存在");
                    return;
                }
            }
            obj.Name = txtName.Text; //分类名
            obj.ParentID = WebFunctions.GetIntValue(txtParentID.Text, 0);
            obj.SortID = WebFunctions.GetIntValue(txtSortID.Text, 0);
            obj.Intro = Request.Form["txtIntro"]; //
            obj.MetaKeyword = txtMetaKeyword.Text; //
            obj.MetaDescription = txtMetaDescription.Text; //
            obj.FolderName = txtFolderName.Text; //
            obj.IndexPageName = txtIndexPageName.Text; //Index
            obj.ListType = WebFunctions.GetIntValue(txtListType.Text, 0);
            obj.LinkUrl = txtLinkUrl.Text; //分类链接
            obj.MorePageUrl = txtMorePageUrl.Text; //
            obj.AdList = WebFunctions.GetIntValue(txtAdList.Text, 0);
            obj.AdArticle = WebFunctions.GetIntValue(txtAdArticle.Text, 0);
            obj.AdPosition1 = WebFunctions.GetIntValue(txtAdPosition1.Text, 0);
            obj.AdPosition2 = WebFunctions.GetIntValue(txtAdPosition2.Text, 0);
            obj.AdPosition3 = WebFunctions.GetIntValue(txtAdPosition3.Text, 0);
            obj.AdPosition4 = WebFunctions.GetIntValue(txtAdPosition4.Text, 0);
            if (isEdit)
            {
                CategoryProvider.UpdateByCategoryID(obj);
                Alert("数据编辑成功");
            }
            else
            {
                System.Int32 id = CategoryProvider.Insert(obj);
                if (id >= 0)
                {
                    Alert("数据添加成功");
                }
                else
                {
                    AlertReturn("数据添加失败");
                }
            }
            GetQuery();
            string action = "http://" + Request.ServerVariables["HTTP_HOST"] + Request.ServerVariables["SCRIPT_NAME"];
            Response.Redirect(action + "?" + querys);
        }
        #endregion

Tags:  数据层 业务侧 输出XML 输出Excel UI层

延伸阅读

最新评论

发表评论