private void DataBaseList() { B_ModelField mdll = new B_ModelField(); this.Repeater1.DataSource = this.bll.GetListPage(); this.Repeater1.DataBind(); }
public void DataBind(string key = "") { B_ModelField mll = new B_ModelField(); DataTable list = mll.SelectTableName("ZL_CommonModel", "Tablename like 'ZL_Store_%' order by GeneralID desc"); switch (Request.QueryString["type"]) { case "0": list.DefaultView.RowFilter = "Status=99"; break; case "1": list.DefaultView.RowFilter = "Status=0"; break; case "2": list.DefaultView.RowFilter = "Status=99 AND EliteLevel=1"; break; default: break; } this.modeinfo = list; Egv.DataSource = list.DefaultView.ToTable(); Egv.DataBind(); }
/// <summary> /// 绑定字段选择下拉框 /// </summary> /// <param name="ModelID">字段所属模型ID</param> /// <param name="type"> /// 方式: /// 0=企业信息显示字段 /// 1=招聘信息职位字段 /// </param> private void BindDrop(int ModelID, int type) { B_ModelField bfield = new B_ModelField(); DataTable dt = bfield.GetModelFieldList(ModelID); if (type == 0) { this.CompanyField.Items.Clear(); this.CompanyField.DataSource = dt; this.CompanyField.DataTextField = "FieldAlias"; this.CompanyField.DataValueField = "FieldID"; this.CompanyField.DataBind(); CompanyField.Items.Insert(0, new ListItem("选择字段", "0")); } else { this.JobsField.Items.Clear(); this.JobsField.DataSource = dt; this.JobsField.DataTextField = "FieldAlias"; this.JobsField.DataValueField = "FieldID"; this.JobsField.DataBind(); JobsField.Items.Insert(0, new ListItem("选择字段", "0")); //JobsField.SelectedValue = "0"; } }
private void DataBaseList() { B_ModelField mfll = new B_ModelField(); this.Repeater1.DataSource = mfll.SelectTableName("ZL_Model", "TableName like 'ZL_School_%'"); this.Repeater1.DataBind(); }
//初始化 private void GetInit() { M_CommonData dtinfo = cbll.GetCommonData(sid); DataTable dt = cbll.GetContent(sid); this.Namelabel.Text = dtinfo.Title; this.Label1.Text = dtinfo.Inputer; string tablename = dtinfo.TableName; B_ModelField mfll = new B_ModelField(); SafeSC.CheckDataEx(tablename); DataTable tableinfo = mfll.SelectTableName("ZL_Model", "tablename = '" + tablename + "'"); B_Model mll = new B_Model(); if (tableinfo.Rows.Count > 0) { this.Label6.Text = mbll.GetModelById(DataConverter.CLng(dt.Rows[0]["StoreModelID"].ToString())).ModelName; } else { this.Label6.Text = "查询错误!请核实此模型是否存在"; } //string tophtml = "<tr><td width=\"20%\"></td><td width = \"80%\"></td>"; //string endhtml = "</tr>"; //this.ModelHtml.Text = tophtml + this.mfbll.GetUpdateHtmlUser(int.Parse(dt.Rows[0]["StoreModelID"].ToString()), 0, dt) + endhtml; //this.ModelHtml.Text = this.mfbll.GetUpdateHtmlUser(int.Parse(dt.Rows[0]["StoreModelID"].ToString()), 0, dt); }
/// <summary> /// 通过ModelID ,itemID查找图片路径 /// </summary> /// <param name="modelID"></param> /// <param name="itemID"></param> /// <returns></returns> private string GetPicPathByModelID(int modelID, int itemID) { B_Model bm = new B_Model(); M_ModelInfo modelinfo = bm.GetModelById(modelID); B_ModelField bmf = new B_ModelField(); M_ModelField mf = bmf.GetFieldNameByMID(modelID); string fieldName = ""; if (mf != null && mf.ModelID > 0) { fieldName = mf.FieldName; } if (modelinfo != null && modelinfo.ModelID > 0) { //DataSet ds = cll.PRoContentChilds(modelinfo.TableName, itemID); //if (ds != null && ds.Tables[0].Rows.Count > 0) //{ // DataRow dr = ds.Tables[0].Rows[0]; // foreach (DataColumn item in ds.Tables[0].Columns) // { // if (item.ToString().Trim().Equals(fieldName)) // { // return dr[item].ToString(); // } // } //} } return(""); }
private void InitFileExtArr() { string content = ""; string fieldType = ""; if (ModelID > 0) { B_ModelField bmf = new B_ModelField(); M_ModelField mmf = bmf.GetModelByFieldName(ModelID, FieldName); mmf = (mmf == null) ? new M_ModelField() : mmf; content = mmf.Content; fieldType = mmf.FieldType; } else { B_UserBaseField bubf = new B_UserBaseField(); M_UserBaseField mubf = bubf.getUserBaseFieldByFieldName(FieldName); mubf = (mubf == null) ? new M_UserBaseField() : mubf; content = mubf.Content; fieldType = mubf.FieldType; } if (content != null) { string[] Setting = content.Split(new char[] { ',' }); if (fieldType == "PicType") { this.m_MaxFileSize = DataConverter.CLng(Setting[1].Split(new char[] { '=' })[1]); this.ViewState["MaxFileSize"] = Setting[1].Split(new char[] { '=' })[1]; this.m_FileExtArr = Setting[2].Split(new char[] { '=' })[1]; this.ViewState["FileExtArr"] = Setting[2].Split(new char[] { '=' })[1]; this.ViewState["UploadType"] = "PicType"; } if (fieldType == "FileType") { string chkSize = Setting[0].Split(new char[] { '=' })[1]; string SizeField = Setting[1].Split(new char[] { '=' })[1]; this.ViewState["SizeField"] = SizeField; this.m_MaxFileSize = DataConverter.CLng(Setting[2].Split(new char[] { '=' })[1]); this.ViewState["MaxFileSize"] = Setting[2].Split(new char[] { '=' })[1]; this.m_FileExtArr = Setting[3].Split(new char[] { '=' })[1]; this.ViewState["FileExtArr"] = Setting[3].Split(new char[] { '=' })[1]; this.ViewState["UploadType"] = "FileType"; } if (fieldType == "SmallFileType") { string chkSize = Setting[0].Split(new char[] { '=' })[1]; string SizeField = Setting[1].Split(new char[] { '=' })[1]; this.ViewState["SizeField"] = SizeField; this.m_MaxFileSize = DataConverter.CLng(chkSize); this.ViewState["MaxFileSize"] = chkSize; this.m_FileExtArr = SizeField; this.ViewState["FileExtArr"] = SizeField; this.ViewState["UploadType"] = "SmallFileType"; } } }
/// <summary> /// 获取用户申请的附加字段信息 /// </summary> public DataRow SelUserApplyInfo(M_PageReg regMod) { if (string.IsNullOrEmpty(regMod.TableName) || regMod.InfoID < 1) { return(null); } B_ModelField fieldBll = new B_ModelField(); DataTable dt = fieldBll.SelectTableName(regMod.TableName, "ID=" + regMod.InfoID); return(dt.Rows.Count > 0 ? dt.Rows[0] : null); }
protected string GetTitle(string titleid) { B_ModelField dd = new B_ModelField(); DataTable newinfo = cbll.SelByItemID(Convert.ToInt32(titleid)); if (newinfo.Rows.Count > 0) { return(newinfo.Rows[0]["Title"].ToString()); } else { return(""); } }
private static void BeginCollContent() { B_Model modBll = new B_Model(); B_ModelField fdBll = new B_ModelField(); B_CollectionItem itemBll = new B_CollectionItem(); foreach (M_CollectionItem item in workList) { if (B_Coll_Worker.work_switcher == false) { break; } if (string.IsNullOrEmpty(item.LinkList)) { WriteLog("项目[" + item.ItemName + "]取消,原因:未指定需要采集的列表URL,LinkList"); continue; } if (string.IsNullOrEmpty(item.InfoPageSettings)) { WriteLog("项目[" + item.ItemName + "]取消,原因:未指定字段采集规则"); continue; } if (string.IsNullOrEmpty(item.CollUrl)) { WriteLog("项目[" + item.ItemName + "]取消,原因:未指定采集来源网址CollUrl"); continue; } M_ModelInfo modMod = modBll.SelReturnModel(item.ModeID); DataTable fieldDT = fdBll.SelByModelID(item.ModeID); foreach (string url in item.LinkList.Split('\n')) { if (B_Coll_Worker.work_switcher == false) { WriteLog("采集项目[" + item.ItemName + "]已停止", ERROR); break; } if (string.IsNullOrEmpty(url)) { continue; } WriteLog("正在采集[" + item.ItemName + "]的目标网址[" + url + "]"); CollectByUrl(url, item, modMod, fieldDT); } DBCenter.UpdateSQL(item.TbName, "Switch=2", "CItem_ID=" + item.CItem_ID); } WriteLog("采集完成,共采集到[" + work_count + "]篇内容", 99); work_switcher = false; work_count = 0; workList.Clear(); }
protected void RepairData_Btn_Click(object sender, EventArgs e) { B_ModelField fieldBll = new B_ModelField(); DataTable dt = fieldBll.Sel(); foreach (DataRow dr in dt.Rows) { int fid = DataConverter.CLng(dr["FieldID"]); string content = DataConverter.CStr(dr["Content"]); if (!content.Contains("||") || !content.Contains("=")) { continue; } //1=是||否,Property=True,Default= string itemStr = content.Split(',')[0].Split('=')[1]; M_ModelField fieldMod = fieldBll.SelReturnModel(fid); fieldMod.Content = content.Replace(itemStr, SortStr(itemStr)); fieldBll.Update(fieldMod); } function.WriteSuccessMsg("操作成功"); }
//互动模型需要扩展 public void RestoreByName(string name) { B_Model modelBll = new B_Model(); B_ModelField fieldBll = new B_ModelField(); B_Pub pubBll = new B_Pub(); string ppath = SafeSC.PathDeal(pdir + name); if (!File.Exists(ppath)) { function.WriteErrMsg("备份文件[" + name + "]不存在"); } //清空数据 modelBll.DeleteAll(); foreach (string tbname in tbnames) { SqlHelper.ExecuteSql("TRUNCATE TABLE " + tbname); } SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_CommonModel"); //开始恢复 DataSet ds = new DataSet(); ds.ReadXml(ppath); //批量导入部分数据 SqlHelper.Insert_Bat(ds.Tables["ZL_Node"], SqlHelper.ConnectionString); if (ds.Tables["ZL_Pub"] != null) { SqlHelper.Insert_Bat(ds.Tables["ZL_Pub"], SqlHelper.ConnectionString); } if (ds.Tables["ZL_Node_ModelTemplate"] != null) { SqlHelper.Insert_Bat(ds.Tables["ZL_Node_ModelTemplate"], SqlHelper.ConnectionString); } if (ds.Tables["ZL_UserPromotions"] != null) { SqlHelper.Insert_Bat(ds.Tables["ZL_UserPromotions"], SqlHelper.ConnectionString); } if (ds.Tables["ZL_NodeRole"] != null) { SqlHelper.Insert_Bat(ds.Tables["ZL_NodeRole"], SqlHelper.ConnectionString); } //恢复模型数据与其对应的表 DataTable modelDT = ds.Tables["ZL_Model"]; DataTable fieldDT = ds.Tables["ZL_ModelField"]; DataTable pubDT = ds.Tables["ZL_Pub"]; foreach (DataRow dr in modelDT.Rows) { M_ModelInfo modelMod = new M_ModelInfo().GetModelFromReader(dr); ZoomLa.SQLDAL.DBHelper.Table_Del(modelMod.TableName); switch (modelMod.ModelType.ToString()) { case "3": //用户模型和黄页申请模型 modelBll.AddUserModel(modelMod); break; case "6": //店铺申请模型 modelBll.AddStoreModel(modelMod); break; case "7": //互动模型 if (pubDT == null) { break; } M_Pub pubmodel = new M_Pub(); pubmodel.PubName = modelMod.ModelName; pubmodel.PubTableName = modelMod.TableName; DataRow[] drs = pubDT.Select("PubModelID=" + modelMod.ModelID); pubmodel.PubType = drs.Length > 0 ? DataConvert.CLng(drs[0]["PubType"]) : 0; pubBll.CreateModelInfo(pubmodel); break; case "8": //功能模型 modelBll.AddFunModel(modelMod); break; default: //内容模型、商城模型、黄页内容模型、店铺商品模型 modelBll.AddModel(modelMod); break; } } //恢复字段 if (fieldDT != null && fieldDT.Rows.Count > 0) { fieldDT.DefaultView.RowFilter = "sys_type ='false'"; foreach (DataRow dr in fieldDT.DefaultView.ToTable().Rows) { int modelID = DataConvert.CLng(dr["ModelID"]); if (modelID < 1) { continue; } DataRow[] drs = modelDT.Select("ModelID='" + modelID + "'"); //OA不处理,未找到不处理 if (drs.Length < 1 || drs[0]["ModelType"].ToString().Equals("12")) { continue; } M_ModelInfo modelMod = new M_ModelInfo().GetModelFromReader(drs[0]); M_ModelField fieldMod = new M_ModelField().GetModelFromReader(dr); //Pub表会报重复 if (fieldBll.IsExists(modelMod.ModelID, fieldMod.FieldName)) { continue; } if (DBCenter.DB.Table_Exist(modelMod.TableName)) //互动表可能未创建,忽略 { fieldBll.AddModelField(modelMod, fieldMod); } } SqlHelper.ExecuteSql("TRUNCATE TABLE ZL_ModelField"); SqlHelper.Insert_Bat(fieldDT, SqlHelper.ConnectionString); } }
/// <summary> /// 仅用于添加修改文章如AddContent等, DataTable dt = this.bfield.GetModelFieldList(this.ModelID).Tables[0]; /// </summary> /// <param name="dt">模型字段列表</param> /// <param name="page">this.Page</param> /// <param name="viewState">ViewState</param> /// <param name="content">用于后台生成静态页</param> /// <param name="flag">是否需要检测空值</param> /// <param name="fields">如不为空,则非其中的字段不允许修改</param> public DataTable GetDTFromPage(DataTable dt, Page page, StateBag viewState, IList <string> content = null, bool flag = true, string fields = "") { B_ModelField mfieldBll = new B_ModelField(); dt.DefaultView.RowFilter = "IsCopy <>-1"; dt = dt.DefaultView.ToTable(); if (content == null) { content = new List <string>(); } DataTable table = new DataTable(); table.Columns.Add(new DataColumn("FieldName", typeof(string))); table.Columns.Add(new DataColumn("FieldType", typeof(string))); table.Columns.Add(new DataColumn("FieldValue", typeof(string))); table.Columns.Add(new DataColumn("FieldAlias", typeof(string))); foreach (DataRow dr in dt.Rows) { DataRow fdr = table.NewRow(); if (!string.IsNullOrEmpty(fields) && !("," + fields + ",").Contains("," + dr["FieldName"] + ",")) { continue; } try { if (dr["FieldType"].ToString() == "DoubleDateType") { fdr[0] = dr["FieldName"].ToString(); fdr[1] = "DoubleDateType"; DateTime ti1 = DataConverter.CDate(page.Request.Form["txt" + dr["FieldName"].ToString()]); DateTime ti2 = DataConverter.CDate(page.Request.Form["txt_" + dr["FieldName"].ToString()]); fdr[2] = ti1.ToShortDateString() + "|" + ti2.ToShortDateString(); fdr[3] = dr["FieldAlias"]; table.Rows.Add(fdr); } else { if (DataConverter.CBool(dr["IsNotNull"].ToString()) && flag) { if (string.IsNullOrEmpty(page.Request.Form["txt_" + dr["FieldName"].ToString()])) { function.WriteErrMsg(dr["FieldAlias"].ToString() + "不能为空!", "javascript:history.go(-1);"); } } string[] Sett = dr["Content"].ToString().Split(new char[] { ',' }); switch (dr["FieldType"].ToString()) { case "FileType": //其与MultiPicType一样,都是读页面上的隐藏控件,而非<select>中的值,存在一个隐藏字段中 #region //ChkFileSize=0,FileSizeField=,MaxFileSize=1024,UploadFileExt=rar|zip|docx|pdf:::是否保存文件大小,保存在大小的字段名,文件上传限制,上传后缀名限制 bool chksize = DataConverter.CBool(Sett[0].Split(new char[] { '=' })[1]); string sizefield = Sett[1].Split(new char[] { '=' })[1]; if (chksize && sizefield != "") { DataRow row1 = table.NewRow(); row1[0] = sizefield; row1[1] = "FileSize"; row1[2] = page.Request.Form["txt_" + sizefield]; row1[3] = dr["FieldAlias"]; table.Rows.Add(row1); } //信息由JS控制放置入txt_中 DataRow rowr1 = table.NewRow(); rowr1[0] = dr["FieldName"]; rowr1[1] = "FileType"; rowr1[2] = page.Request.Form["txt_" + dr["FieldName"]]; rowr1[3] = dr["FieldAlias"]; table.Rows.Add(rowr1); #endregion break; case "MultiPicType": #region //ChkThumb=0,ThumbField=,Warter=0,MaxPicSize=1024,PicFileExt=jpg|png|gif|bmp|jpeg:::是否保存缩略图地址,缩略点路径,水印,大小,后缀名限制 bool chkthumb = DataConverter.CBool(Sett[0].Split(new char[] { '=' })[1]); string ThumbField = Sett[1].Split(new char[] { '=' })[1]; if (chkthumb && ThumbField != "") { DataRow row2 = table.NewRow(); if (DataConverter.CBool(dr["IsNotNull"].ToString()) && string.IsNullOrEmpty(page.Request.Form["txt_" + ThumbField])) { function.WriteErrMsg(dr["FieldAlias"].ToString() + "的缩略图不能为空!"); } row2[0] = ThumbField; row2[1] = "ThumbField"; row2[2] = page.Request.Form["txt_" + ThumbField]; row2[3] = dr["FieldAlias"]; table.Rows.Add(row2); } { DataRow rowr2 = table.NewRow(); rowr2[0] = dr["FieldName"]; rowr2[1] = "MultiPicType"; rowr2[2] = page.Request.Form["txt_" + dr["FieldName"]]; rowr2[3] = dr["FieldAlias"]; table.Rows.Add(rowr2); } #endregion break; case "TableField": //库选字段 fdr[0] = dr["FieldName"].ToString(); fdr[1] = "TableField"; string tableval = page.Request.Form["txt_" + dr["FieldName"].ToString()]; if (!string.IsNullOrEmpty(tableval)) { string[] temparr = tableval.Split(','); tableval = string.Join("$", temparr); } fdr[2] = tableval; fdr[3] = dr["FieldAlias"]; table.Rows.Add(fdr); break; case "NumType": #region double value = DataConverter.CDouble(string.IsNullOrEmpty(page.Request.Form["txt_" + dr["FieldName"]]) ? "0" : page.Request.Form["txt_" + dr["FieldName"]]); //避免空字符串报错 //TitleSize=35,NumberType=1,DefaultValue=50,NumSearchType=0,NumRangType=1,NumSearchRang=0-100,NumLenght=0 string[] conArr = dr["Content"].ToString().Split(','); string NumLenght = "f" + conArr[6].Split('=')[1]; //小数点位数 if (conArr[4].Split('=')[1].Equals("1")) //指定了上限与下限检测,则检测 { string range = conArr[5].Split('=')[1]; if (!string.IsNullOrEmpty(range) && range.Split('-').Length == 2) //范围不为空,并正确填了值,才做判断 { double minValue = Convert.ToDouble(range.Split('-')[0]); double maxValue = Convert.ToDouble(range.Split('-')[1]); if (value < minValue || value > maxValue) { function.WriteErrMsg(dr["FieldAlias"] + ":的值不正确,必须大于" + minValue + ",并且小于" + maxValue); } } } fdr[0] = dr["FieldName"].ToString(); fdr[1] = "NumType"; fdr[2] = value.ToString(NumLenght); fdr[3] = dr["FieldAlias"]; table.Rows.Add(fdr); #endregion break; case "Images": //组图 fdr[0] = dr["FieldName"].ToString(); fdr[1] = "Images"; fdr[2] = (page.Request.Form["txt_" + dr["FieldName"].ToString()] ?? "").Trim(','); table.Rows.Add(fdr); break; case "CameraType": fdr[0] = dr["FieldName"].ToString(); fdr[1] = "CameraType"; fdr[2] = page.Request.Form[dr["FieldName"] + "_hid"].ToString(); table.Rows.Add(fdr); break; case "SqlType": //文件入库,图片入库,,,图片与文件base64存数据库,一个单独字段标识其 { fdr[0] = dr["FieldName"]; fdr[1] = dr["FieldType"]; fdr[2] = page.Request.Form["FIT_" + dr["FieldName"]]; fdr[3] = dr["FieldAlias"]; table.Rows.Add(fdr); } break; case "SqlFile": { fdr[0] = dr["FieldName"]; fdr[1] = dr["FieldType"]; fdr[2] = page.Request.Form["FIT_" + dr["FieldName"]]; fdr[3] = dr["FieldAlias"]; table.Rows.Add(fdr); } break; case "MapType": { fdr[0] = dr["FieldName"].ToString(); fdr[1] = "MapType"; fdr[2] = page.Request.Form["txt_" + dr["FieldName"].ToString()]; fdr[3] = dr["FieldAlias"]; table.Rows.Add(fdr); } break; case "autothumb": { FieldModel fieldMod = new FieldModel(dr["Content"].ToString()); string thumb = page.Request.Form["txt_" + dr["FieldName"].ToString()]; string topimg = page.Request.Form["ctl00$Content$ThumImg_Hid"]; thumb = ZoomLa.BLL.Helper.ThumbHelper.Thumb_Compress(topimg, thumb, fieldMod.GetValInt("width"), fieldMod.GetValInt("height")); //如thumb为空,但topimg不为空,则生成缩图 fdr[0] = dr["FieldName"].ToString(); fdr[1] = "auththumb"; fdr[2] = thumb; table.Rows.Add(fdr); } break; case "api_qq_mvs": { fdr[0] = dr["FieldName"]; fdr[1] = dr["FieldType"]; fdr[2] = page.Request.Form["UpMvs_" + dr["FieldName"].ToString()]; fdr[3] = dr["FieldAlias"]; table.Rows.Add(fdr); } break; default: #region string[] txtftype = "TextType,MultipleTextType,MultipleHtmlType,PullFileType".Split(','); //文本类型 DataRow row = table.NewRow(); row[0] = dr["FieldName"].ToString(); string ftype = dr["FieldType"].ToString(); row[1] = ftype; string fvalue = page.Request.Form["txt_" + dr["FieldName"].ToString()]; if (!string.IsNullOrEmpty(fvalue) && (txtftype.Where(p => p.Equals(ftype)).ToArray().Length > 0)) { if (ftype == "MultipleHtmlType") { content.Add(fvalue); } } switch (ftype) { case "Random": fvalue = page.Request.Form["txt_" + dr["FieldName"].ToString()]; break; case "MapType": //fvalue =; break; case "Charts": if (page.Request.Form[dr["FieldName"].ToString()] == null || page.Request.Form[dr["FieldName"].ToString()] == "0") { fvalue = "0"; } else { fvalue = page.Request.Form[dr["FieldName"].ToString()]; } break; case "SqlType": if (page.Request.Form["txt_" + dr["FieldName"].ToString()] == null || page.Request.Form["txt_" + dr["FieldName"].ToString()] == "") { fvalue = ""; } else { fvalue = page.Request.Form["txt_" + dr["FieldName"].ToString()]; } break; case "SqlFile": if (page.Request.Form["txt_" + dr["FieldName"].ToString()] == null || page.Request.Form["txt_" + dr["FieldName"].ToString()] == "") { fvalue = ""; } else { fvalue = page.Request.Form["txt_" + dr["FieldName"].ToString()]; } break; } string strUrl = HttpContext.Current.Request.Url.Authority.ToString(); string serPath = page.Request.PhysicalApplicationPath; if (SiteConfig.SiteOption.IsSaveRemoteImage) { //保存远程图片功能 if (dr["FieldName"].ToString() == "content") { //获取img路径列表 List <string> remoteImageList = mfieldBll.GetImgUrl(fvalue); fvalue = page.Request.Form["txt_content"]; foreach (string str in remoteImageList) { string imgurl = page.Request.PhysicalApplicationPath + WaterModuleConfig.WaterConfig.imgLogo; //新图片名称 string newImgname; string Patha; mfieldBll.SaveGz(str, out newImgname, out Patha, viewState["NodeDir"].ToString()); string imgInfo = ""; //保存远程图片,并获取图片详细名称 if (str.Substring(0, 7) == "http://" && !str.Contains(strUrl) && !str.Contains(SiteConfig.SiteInfo.SiteUrl)) { try { imgInfo = mfieldBll.downRemoteImg(page.Server.MapPath(Patha), str, newImgname, Patha, imgurl); fvalue = fvalue.Replace(str.ToString(), imgInfo); } catch (Exception) { imgInfo = str; fvalue = fvalue.Replace(str.ToString(), imgInfo); } } } } } row[2] = fvalue; row[3] = dr["FieldAlias"]; table.Rows.Add(row); #endregion break; } } } catch (Exception ex) { function.WriteErrMsg("自定义字段[" + dr["FieldName"] + "(" + dr["FieldType"] + ")]出错,原因:" + ex.Message); } } return(table); }
//数据导入 public bool ImportProducts(DataTable dt, int ModelID, int NodeID) { B_ModelField b_ModelField = new B_ModelField(); DataTable dtModelField = b_ModelField.GetModelFieldList(ModelID); //建立从表存放当前信息 DataTable table = new DataTable(); table.Columns.Add(new DataColumn("FieldName", typeof(string))); table.Columns.Add(new DataColumn("FieldType", typeof(string))); table.Columns.Add(new DataColumn("FieldValue", typeof(string))); table.Columns.Add(new DataColumn("ShopmodelID", typeof(string))); table.Columns.Add(new DataColumn("FieldAlias", typeof(string))); for (int i = 0; i < dt.Rows.Count; i++) { if (dtModelField != null && dtModelField.Rows.Count > 0) { foreach (DataRow dr in dtModelField.Rows) { DataRow row = table.NewRow(); row[0] = dr["FieldName"].ToString(); row[1] = dr["FieldType"].ToString(); row[4] = dr["FieldAlias"].ToString(); try { row[2] = dt.Rows[i][row[4].ToString()]; } catch { return(false); } table.Rows.Add(row); } } //基础表内容 B_Model modBll = new B_Model(); M_ModelInfo modMod = modBll.SelReturnModel(ModelID); //主表内容 M_Product m_Product = new M_Product(); m_Product.ModelID = ModelID; m_Product.Nodeid = NodeID; m_Product.TableName = modMod.TableName; m_Product.ProCode = dt.Rows[i]["商品编号"].ToString(); m_Product.BarCode = dt.Rows[i]["条形码"].ToString(); m_Product.Proname = dt.Rows[i]["商品名称"].ToString(); m_Product.Kayword = dt.Rows[i]["关键字"].ToString(); m_Product.ProUnit = dt.Rows[i]["商品单位"].ToString(); try { m_Product.Weight = Convert.ToInt32(dt.Rows[i]["商品重量"].ToString() == "" ? 0 : dt.Rows[i]["商品重量"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[商品重量]格式不正确"); } m_Product.ProClass = 1; m_Product.Sales = Convert.ToInt32(dt.Rows[i]["销售状态(1)"].ToString() == "1" ? 1 : 0); m_Product.Istrue = Convert.ToInt32(dt.Rows[i]["属性设置(1)"].ToString() == "1" ? 1 : 0); try { m_Product.AllClickNum = Convert.ToInt32(dt.Rows[i]["点击数"].ToString() == "" ? 0 : dt.Rows[i]["点击数"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[点击数]格式不正确"); } try { m_Product.UpdateTime = Convert.ToDateTime(dt.Rows[i]["更新时间"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[更新时间]格式不正确"); } m_Product.ModeTemplate = ""; ///22222222222222222222 m_Product.Proinfo = dt.Rows[i]["商品简介"].ToString(); m_Product.Procontent = dt.Rows[i]["详细介绍"].ToString(); m_Product.Clearimg = dt.Rows[i]["商品清晰图"].ToString(); m_Product.Thumbnails = dt.Rows[i]["商品缩略图"].ToString(); ///33333333333333333333 m_Product.Producer = dt.Rows[i]["生产商"].ToString(); m_Product.Brand = dt.Rows[i]["品牌/商标"].ToString(); m_Product.Allowed = Convert.ToInt32(dt.Rows[i]["缺货时允许购买(0)"].ToString() == "0" ? 0 : 1); try { m_Product.Quota = Convert.ToInt32(dt.Rows[i]["限购数量"].ToString() == "" ? 0 : dt.Rows[i]["限购数量"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[限购数量]格式不正确"); } try { m_Product.DownQuota = Convert.ToInt32(dt.Rows[i]["最低购买数量"].ToString() == "" ? 0 : dt.Rows[i]["最低购买数量"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[最低购买数量]格式不正确"); } m_Product.Stock = 0;//库存数量 try { m_Product.ShiPrice = Convert.ToDouble(dt.Rows[i]["市场参考价"].ToString() == "" ? 0 : dt.Rows[i]["市场参考价"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[市场参考价]格式不正确"); } try { m_Product.LinPrice = Convert.ToDouble(dt.Rows[i]["当前零售价"].ToString() == "" ? 0 : dt.Rows[i]["当前零售价"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[当前零售价]格式不正确"); } try { m_Product.AddTime = DateTime.Parse(dt.Rows[i]["创建时间"].ToString()); } catch (Exception) { throw new Exception("第" + (i + 1) + "行,字段[创建时间]格式不正确"); } try { m_Product.StockDown = 0; } catch { throw new Exception("第" + (i + 1) + "行,字段[库存报警下限]格式不正确"); } try { m_Product.Rateset = 1; } catch { throw new Exception("第" + (i + 1) + "行,字段[税率设置]格式不正确"); } try { m_Product.Rate = 0; } catch { throw new Exception("第" + (i + 1) + "行,字段[商品税率]格式不正确"); } try { m_Product.Dengji = 3; } catch { throw new Exception("第" + (i + 1) + "行,字段[商品推荐等级]格式不正确"); } try { m_Product.ShiPrice = Convert.ToDouble(dt.Rows[i]["市场参考价"].ToString() == "" ? 0 : dt.Rows[i]["市场参考价"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[市场参考价]格式不正确"); } try { m_Product.LinPrice = Convert.ToDouble(dt.Rows[i]["当前零售价"].ToString() == "" ? 0 : dt.Rows[i]["当前零售价"]); } catch { throw new Exception("第" + (i + 1) + "行,字段[当前零售价]格式不正确"); } //m_Product.UserPrice = dt.Rows[i]["会员组价格"].ToString(); m_Product.UserPrice = "0"; try { m_Product.Recommend = 0; } catch { throw new Exception("第" + (i + 1) + "行,字段[打折优惠率]格式不正确"); } try { m_Product.PointVal = 0; } catch { throw new Exception("第" + (i + 1) + "行,字段[积分价格]格式不正确"); } m_Product.Wholesales = 0;//允许批发 try { m_Product.Wholesaleone = 1; } catch { throw new Exception("第" + (i + 1) + "行,字段[允许单独销售]格式不正确"); } try { m_Product.Largess = 0; } catch { throw new Exception("第" + (i + 1) + "行,字段[设置为礼品]格式不正确"); } ///55555555555555555555 try { m_Product.IntegralNum = 0; } catch { throw new Exception("第" + (i + 1) + "行,字段[购物积分]格式不正确"); } Add(table, m_Product); table.Rows.Clear();//清除子表中的数据 } return(true); }
public static DataTable GetDTFromMVC(DataTable dt, HttpRequest req, bool flag = true) { B_ModelField mfieldBll = new B_ModelField(); dt.DefaultView.RowFilter = "IsCopy <>-1"; dt = dt.DefaultView.ToTable(); DataTable table = new DataTable(); table.Columns.Add(new DataColumn("FieldName", typeof(string))); table.Columns.Add(new DataColumn("FieldType", typeof(string))); table.Columns.Add(new DataColumn("FieldValue", typeof(string))); table.Columns.Add(new DataColumn("FieldAlias", typeof(string))); foreach (DataRow dr in dt.Rows) { DataRow fdr = table.NewRow(); try { fdr[0] = dr["FieldName"].ToString(); fdr[1] = dr["FieldType"].ToString(); fdr[3] = DataConverter.CStr(dr["FieldAlias"]); if (dr["FieldType"].ToString() == "DoubleDateType") { DateTime ti1 = DataConverter.CDate(req.Form["txt" + dr["FieldName"].ToString()]); DateTime ti2 = DataConverter.CDate(req.Form["txt_" + dr["FieldName"].ToString()]); fdr[2] = ti1.ToShortDateString() + "|" + ti2.ToShortDateString(); } else { if (DataConverter.CBool(dr["IsNotNull"].ToString()) && flag) { if (string.IsNullOrEmpty(req.Form["txt_" + dr["FieldName"].ToString()])) { throw new Exception("[" + dr["FieldAlias"] + "]不能为空!"); } } string[] Sett = dr["Content"].ToString().Split(new char[] { ',' }); switch (dr["FieldType"].ToString()) { case "FileType": //其与MultiPicType一样,都是读页面上的隐藏控件,而非<select>中的值,存在一个隐藏字段中 #region //ChkFileSize=0,FileSizeField=,MaxFileSize=1024,UploadFileExt=rar|zip|docx|pdf:::是否保存文件大小,保存在大小的字段名,文件上传限制,上传后缀名限制 bool chksize = DataConverter.CBool(Sett[0].Split(new char[] { '=' })[1]); string sizefield = Sett[1].Split(new char[] { '=' })[1]; //if (chksize && sizefield != "") //{ // fdr[0] = sizefield; // fdr[1] = "FileSize"; // fdr[2] = req.Form["txt_" + sizefield]; // fdr[3] = dr["FieldAlias"]; //} //信息由JS控制放置入txt_中 fdr[2] = req.Form["txt_" + dr["FieldName"]]; #endregion break; case "MultiPicType": #region //ChkThumb=0,ThumbField=,Warter=0,MaxPicSize=1024,PicFileExt=jpg|png|gif|bmp|jpeg:::是否保存缩略图地址,缩略点路径,水印,大小,后缀名限制 bool chkthumb = DataConverter.CBool(Sett[0].Split(new char[] { '=' })[1]); string ThumbField = Sett[1].Split(new char[] { '=' })[1]; if (chkthumb && ThumbField != "") //存储缩图 { DataRow row2 = table.NewRow(); if (DataConverter.CBool(dr["IsNotNull"].ToString()) && string.IsNullOrEmpty(req.Form["txt_" + ThumbField])) { throw new Exception(dr["FieldAlias"].ToString() + "的缩略图不能为空!"); } row2[0] = ThumbField; row2[1] = "ThumbField"; row2[2] = req.Form["txt_" + ThumbField]; row2[3] = dr["FieldAlias"]; table.Rows.Add(row2); } { fdr[0] = dr["FieldName"]; fdr[1] = "MultiPicType"; fdr[2] = req.Form["txt_" + dr["FieldName"]]; fdr[3] = dr["FieldAlias"]; } #endregion break; case "TableField": //库选字段 string tableval = req.Form["txt_" + dr["FieldName"].ToString()]; if (!string.IsNullOrEmpty(tableval)) { string[] temparr = tableval.Split(','); tableval = string.Join("$", temparr); } fdr[2] = tableval; break; case "NumType": #region double value = DataConverter.CDouble(string.IsNullOrEmpty(GetParam(req, "txt_" + dr["FieldName"])) ? "0" : GetParam(req, "txt_" + dr["FieldName"])); //避免空字符串报错 //TitleSize=35,NumberType=1,DefaultValue=50,NumSearchType=0,NumRangType=1,NumSearchRang=0-100,NumLenght=0 string[] conArr = dr["Content"].ToString().Split(','); string NumLenght = "f" + conArr[6].Split('=')[1]; //小数点位数 if (conArr[4].Split('=')[1].Equals("1")) //指定了上限与下限检测,则检测 { string range = conArr[5].Split('=')[1]; if (!string.IsNullOrEmpty(range) && range.Split('-').Length == 2) //范围不为空,并正确填了值,才做判断 { double minValue = Convert.ToDouble(range.Split('-')[0]); double maxValue = Convert.ToDouble(range.Split('-')[1]); if (value < minValue || value > maxValue) { throw new Exception(dr["FieldAlias"] + ":的值不正确,必须大于" + minValue + ",并且小于" + maxValue); } } } fdr[2] = value.ToString(NumLenght); #endregion break; case "Images": //组图 fdr[2] = (GetParam(req, "txt_" + dr["FieldName"].ToString()) ?? "").Trim(','); break; case "CameraType": fdr[2] = req.Form[dr["FieldName"] + "_hid"].ToString(); break; case "SqlType": //文件入库,图片入库,,,图片与文件base64存数据库,一个单独字段标识其 { fdr[2] = req.Form["FIT_" + dr["FieldName"]]; } break; case "SqlFile": { fdr[2] = req.Form["FIT_" + dr["FieldName"]]; } break; case "MapType": { fdr[2] = req.Form["txt_" + dr["FieldName"].ToString()]; } break; case "autothumb": { FieldModel fieldMod = new FieldModel(dr["Content"].ToString()); string thumb = req.Form["txt_" + dr["FieldName"].ToString()]; string topimg = req.Form["ThumImg_Hid"]; //如thumb为空,但topimg不为空,则生成缩图 fdr[0] = dr["FieldName"].ToString(); fdr[1] = "auththumb"; fdr[2] = ""; } break; case "api_qq_mvs": { fdr[2] = req.Form["UpMvs_" + dr["FieldName"].ToString()]; } break; case "PicType": { string fvalue = DataConverter.CStr(req.Form[dr["FieldName"] + "_t"]); fdr[2] = fvalue.Replace(SiteConfig.SiteOption.UploadDir, ""); } break; default: #region { string fvalue = req.Form["txt_" + dr["FieldName"].ToString()]; switch (dr["FieldType"].ToString()) { //case "Random": // fvalue = req.Form["txt_" + dr["FieldName"].ToString()]; // break; case "MapType": //fvalue =; break; case "Charts": fvalue = "0"; break; case "SqlType": fvalue = ""; break; case "SqlFile": fvalue = ""; break; } fdr[2] = fvalue; } #endregion break; } //for end; } //else end; } catch (Exception ex) { if (!ex.Message.Contains("正在中止线程")) { throw new Exception("[" + dr["FieldAlias"] + "][" + dr["FieldName"] + "(" + dr["FieldType"] + ")],原因:" + ex.Message); } } fdr[2] = StringHelper.Strip_Script(DataConverter.CStr(fdr[2])); table.Rows.Add(fdr); }//for end; return(table); }
protected void Page_Load(object sender, EventArgs e) { if (!string.IsNullOrEmpty(base.Request.QueryString["ItemID"])) { B_Model bmode = new B_Model(); B_Node bnode = new B_Node(); B_ModelField mfll = new B_ModelField(); int CPage = string.IsNullOrEmpty(base.Request.QueryString["p"]) ? 1 : DataConverter.CLng(base.Request.QueryString["p"]); if (CPage <= 0) { CPage = 1; } M_CommonData ItemInfo = bcontent.GetCommonData(ItemID); if (ItemInfo.IsNull) { Response.Write("[产生错误的可能原因:内容信息不存在或未开放!]"); } M_ModelInfo modelinfo = bmode.GetModelById(ItemInfo.ModelID); M_Templata Nodeinfo = tll.Getbyid(ItemInfo.NodeID); string TemplateDir = GetTempPath(ItemInfo, Nodeinfo, pageID); if (string.IsNullOrEmpty(TemplateDir)) { Response.Write("[产生错误的可能原因:该内容所属模型未指定模板!]"); } else { int Cpage = 1; if (string.IsNullOrEmpty(base.Request.QueryString["p"])) { Cpage = 1; } else { Cpage = DataConverter.CLng(base.Request.QueryString["p"]); } string ContentHtml = ""; try { ContentHtml = FileSystemObject.ReadFile(TemplateDir); } catch { Response.Write("[产生错误的可能原因:该内容所属模型未指定模板!]"); } ContentHtml = this.bll.CreateHtml(ContentHtml, Cpage, ItemID, 0); /* --------------------判断是否分页 并做处理------------------------------------------------*/ if (!string.IsNullOrEmpty(ContentHtml)) { string infoContent = ""; //进行处理的内容字段 string pagelabel = ""; string infotmp = ""; #region 分页符分页 string pattern = @"{\#PageCode}([\s\S])*?{\/\#PageCode}"; //查找要分页的内容 if (Regex.IsMatch(ContentHtml, pattern, RegexOptions.IgnoreCase)) { infoContent = Regex.Match(ContentHtml, pattern, RegexOptions.IgnoreCase).Value; infotmp = infoContent; infoContent = infoContent.Replace("{#PageCode}", "").Replace("{/#PageCode}", ""); //查找分页标签 //bool flag = false; bool isPage = false; string pattern1 = @"{ZL\.Page([\s\S])*?\/}"; if (Regex.IsMatch(ContentHtml, pattern1, RegexOptions.IgnoreCase)) { pagelabel = Regex.Match(ContentHtml, pattern1, RegexOptions.IgnoreCase).Value; isPage = true; } if (isPage) { if (string.IsNullOrEmpty(infoContent)) //没有设定要分页的字段内容 { ContentHtml = ContentHtml.Replace(pagelabel, ""); } else //进行内容分页处理 { //文件名 string file1 = "Content.aspx?ID=" + ItemID.ToString(); //取分页标签处理结果 返回字符串数组 根据数组元素个数生成几页 string ilbl = pagelabel.Replace("{ZL.Page ", "").Replace("/}", "").Replace(" ", ","); string lblContent = ""; IList <string> ContentArr = new List <string>(); if (string.IsNullOrEmpty(ilbl)) { lblContent = "{loop}<a href=\"{$pageurl/}\">{$pageid/}</a>$$$<b>[{$pageid/}]</b>{/loop}"; //默认格式的分页导航 ContentArr = this.bll.GetContentPage(infoContent); } else { string[] paArr = ilbl.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (paArr.Length == 0) { lblContent = "{loop}<a href=\"{$pageurl/}\">{$pageid/}</a>$$$<b>[{$pageid/}]</b>{/loop}"; //默认格式的分页导航 ContentArr = this.bll.GetContentPage(infoContent); } else { string lblname = paArr[0].Split(new char[] { '=' })[1].Replace("\"", ""); B_Label blbl = new B_Label(); lblContent = blbl.GetLabelXML(lblname).Content; if (string.IsNullOrEmpty(lblContent)) { lblContent = "{loop}<a href=\"{$pageurl/}\">{$pageid/}</a>$$$<b>[{$pageid/}]</b>{/loop}"; //默认格式的分页导航 } ContentArr = this.bll.GetContentPage(infoContent); } } if (ContentArr.Count > 0) //存在分页数据 { ContentHtml = ContentHtml.Replace(infotmp, ContentArr[CPage - 1]); ContentHtml = ContentHtml.Replace(pagelabel, this.bll.GetPage(lblContent, ItemID, CPage, ContentArr.Count, ContentArr.Count)); } else { ContentHtml = ContentHtml.Replace(infotmp, infoContent); ContentHtml = ContentHtml.Replace(pagelabel, ""); } } } else //没有分页标签 { //如果设定了分页内容字段 将该字段内容的分页标志清除 if (!string.IsNullOrEmpty(infoContent)) { ContentHtml = ContentHtml.Replace(infotmp, infoContent); } } } #endregion pattern = @"{\#Content}([\s\S])*?{\/\#Content}"; //查找要分页的内容 if (Regex.IsMatch(ContentHtml, pattern, RegexOptions.IgnoreCase)) { infoContent = Regex.Match(ContentHtml, pattern, RegexOptions.IgnoreCase).Value; infotmp = infoContent; infoContent = infoContent.Replace("{#Content}", "").Replace("{/#Content}", ""); //查找分页标签 //bool flag = false; bool isPage = false; string pattern1 = @"{ZL\.Page([\s\S])*?\/}"; if (Regex.IsMatch(ContentHtml, pattern1, RegexOptions.IgnoreCase)) { pagelabel = Regex.Match(ContentHtml, pattern1, RegexOptions.IgnoreCase).Value; isPage = true; } if (isPage) { if (string.IsNullOrEmpty(infoContent)) //没有设定要分页的字段内容 { ContentHtml = ContentHtml.Replace(pagelabel, ""); } else //进行内容分页处理 { //文件名 string file1 = "Content.aspx?ID=" + ItemID.ToString(); //取分页标签处理结果 返回字符串数组 根据数组元素个数生成几页 string ilbl = pagelabel.Replace("{ZL.Page ", "").Replace("/}", "").Replace(" ", ","); string lblContent = ""; int NumPerPage = 500; IList <string> ContentArr = new List <string>(); if (string.IsNullOrEmpty(ilbl)) { lblContent = "{loop}<a href=\"{$pageurl/}\">{$pageid/}</a>$$$<b>[{$pageid/}]</b>{/loop}"; //默认格式的分页导航 ContentArr = this.bll.GetContentPage(infoContent, NumPerPage); } else { string[] paArr = ilbl.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); if (paArr.Length == 0) { lblContent = "{loop}<a href=\"{$pageurl/}\">{$pageid/}</a>$$$<b>[{$pageid/}]</b>{/loop}"; //默认格式的分页导航 ContentArr = this.bll.GetContentPage(infoContent, NumPerPage); } else { string lblname = paArr[0].Split(new char[] { '=' })[1].Replace("\"", ""); if (paArr.Length > 1) { NumPerPage = DataConverter.CLng(paArr[1].Split(new char[] { '=' })[1].Replace("\"", "")); } B_Label blbl = new B_Label(); lblContent = blbl.GetLabelXML(lblname).Content; if (string.IsNullOrEmpty(lblContent)) { lblContent = "{loop}<a href=\"{$pageurl/}\">{$pageid/}</a>$$$<b>[{$pageid/}]</b>{/loop}"; //默认格式的分页导航 } ContentArr = this.bll.GetContentPage(infoContent, NumPerPage); } } if (ContentArr.Count > 0) //存在分页数据 { ContentHtml = ContentHtml.Replace(infotmp, ContentArr[CPage - 1]); ContentHtml = ContentHtml.Replace(pagelabel, this.bll.GetPage(lblContent, ItemID, CPage, ContentArr.Count, NumPerPage)); } else { ContentHtml = ContentHtml.Replace(infotmp, infoContent); ContentHtml = ContentHtml.Replace(pagelabel, ""); } } } else //没有分页标签 { //如果设定了分页内容字段 将该字段内容的分页标志清除 if (!string.IsNullOrEmpty(infoContent)) { ContentHtml = ContentHtml.Replace(infotmp, infoContent); } } } } string patterns = @"{ZL\.Page([\s\S])*?\/}"; string pagelabels = Regex.Match(ContentHtml, patterns, RegexOptions.IgnoreCase).Value; if (pagelabels != "") { ContentHtml = ContentHtml.Replace(pagelabels, ""); } /*--------------------- 分页内容处理结束-------------------------------------------------------------------------*/ Response.Write(ContentHtml); } } else { Response.Write("[产生错误的可能原因:您访问的内容信息不存在!访问规则:PageContent.aspx?ItemID=信息ID]"); } }