⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 st_pdclass.aspx.cs

📁 网上书店(asp.net+sql server)
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Microsoft.ApplicationBlocks.Data;
using System.Data.SqlClient;
using System.Text;

namespace STGROUP.ST_WebBook
{
	/// <summary>
	/// GoodClass 的摘要说明。
	/// </summary>
	public partial class ST_PdClass : System.Web.UI.Page
	{
		protected ST_BookBiz.ST_Class st_class = new ST_BookBiz.ST_Class();
		protected ST_BookBiz.ST_Product st_product = new ST_BookBiz.ST_Product();
	
		protected void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			if(!IsPostBack)
			{
				lblNoGoods.Visible=false;
				string st_classid = (Request.QueryString["st_classid"]==null)?"0":Request.QueryString["st_classid"];
				if(st_classid!="0")
				{
					initGrid(int.Parse(st_classid));
				}
				btnDelProduct.Attributes.Add("onclick","javascript:return confirm('确实要从该类中删除这些商品吗?');");
				btnDel.Attributes.Add("onclick","javascript:return confirm('确定要删除该类吗?');");
				btnSearch.Attributes.Add("onclick","javascript:return searchCheck();");
			}
		}
		/// <summary>
		/// 绑定商品数据
		/// </summary>
		/// <param name="st_classid"></param>
		private void initGrid(int st_classid)
		{
			dgProduct.Visible=true;
			lblNoGoods.Visible=false;

			DataSet ds = st_product.GetProductByClassID(st_classid);
			dgProduct.DataSource = ds;
			dgProduct.DataBind();
			if(dgProduct.Items.Count==0)
			{
				dgProduct.Visible=false;
				lblNoGoods.Visible=true;
			}
		}

        /// <summary>
        /// 取得图片链接
        /// </summary>
        /// <param name="img"></param>
        /// <returns></returns>
		public string GetImage(string img)
		{
			return ST_BookBiz.ST_Utility.ST_ImagePath + img;
		}
		
		/// <summary>
		/// 查看商品详情以及删除商品操作
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		public void dgItem(object sender, DataGridCommandEventArgs e)
		{
			int ProductID = int.Parse(e.Item.Cells[0].Text);
			int st_classid = int.Parse(Request.QueryString["st_classid"]);
			int index = (e.Item.ItemIndex==0)?-1:(e.Item.ItemIndex-1);
			if(e.CommandName=="del")//删除商品的操作
			{
				bool flag = st_product.CanDeleteProduct(ProductID);
				if(flag)
				{
					st_product.DeleteProduct(ProductID);
					Response.Redirect("st_PdClass.aspx?st_classid="+st_classid);
				}
				else
				{
					writeAlertScript("该商品存在订单,不允许删除!");
				}
			}
            else if (e.CommandName == "Pro")//推荐商品的操作
            {
                string pro = e.Item.Cells[10].Text;
                if (pro == "True")
                {
                    st_product.UpdatePromotion(ProductID, 0);
                }
                else 
                {
                    st_product.UpdatePromotion(ProductID, 1);
                }

            }
            else if (e.CommandName == "UpDown")//上下架商品的操作
            {
                string pro = e.Item.Cells[8].Text;
                if (pro == "True")
                {
                    st_product.UpdateUpDown(ProductID, 0);
                }
                else
                {
                    st_product.UpdateUpDown(ProductID, 1);
                }

            }
            initGrid(st_classid);
			
		}

		
		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.dgProduct.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dgProduct_ItemDataBound);

		}
		#endregion

		/// <summary>
		/// 删除分类,根节点不允许删除
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		protected void btnDel_Click(object sender, System.EventArgs e)
		{
			int ClassID = int.Parse(Request.QueryString["st_classid"]);
			if(ClassID==0)
				writeAlertScript("不允许删除根节点!");
			else if(st_class.IsHaveChild(ClassID))
				writeAlertScript("存在子节点,不允许删除!");
			else if(st_class.IsHavePd(ClassID))
				writeAlertScript("节点下存在商品,不允许删除!");
			else
			{
				st_class.DeleteClass(ClassID);
				Response.Write("<script language='javascript'>window.opener=null;window.parent.location.reload();</script>");
			}
		}

		/// <summary>
		/// 添加分类,最多只允许添加2层
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		protected void btnAdd_ServerClick(object sender, System.EventArgs e)
		{
			int ClassID = int.Parse(Request.QueryString["st_classid"]);
            if (st_class.CanHaveChild(ClassID) || ClassID==0)
			{
                string str = "<script language='javascript'>ret = window.showModalDialog('ST_PdClassAdd.aspx?Action=add&st_classid=" + ClassID + "',window,'dialogHeight:250px;dialogWidth:600px;center:Yes;Help:No;Resizable:No;Scroll:auto;Status:no;');</script>";
				Response.Write(str);
			}
			else
				Response.Write("<script language='javascript'>alert('分类最多允许两层!');</script>");
		}

		/// <summary>
		/// 更新分类
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		protected void btnEdit_Click(object sender, System.EventArgs e)
		{
			int st_classid = int.Parse(Request.QueryString["st_classid"]);
			if(st_class.GetParentID(st_classid)!=-1)
			{
				string str = "<script language='javascript'>ret = window.showModelessDialog('ST_PdClassAdd.aspx?Action=edit&st_classid="+st_classid+"',window,'dialogHeight:250px;dialogWidth:600px;center:Yes;Help:No;Resizable:No;Status:Yes;Scroll:auto;Status:no;');</script>";
				Response.Write(str);
			}
			else
				writeAlertScript("不允许修改根节点!");
		}

		/// <summary>
		/// 判断是否存在要删除的商品
		/// </summary>
		/// <returns></returns>
		private bool IsDelChecked()
		{
			foreach(DataGridItem i in dgProduct.Items)
			{
				CheckBox chkTemp = (CheckBox)i.FindControl("chkID");
				if(chkTemp.Checked==true)
					return true;
			}
			return false;
		}

		protected void btnDelProduct_Click(object sender, System.EventArgs e)
		{
			if(!IsDelChecked())
				writeAlertScript("请选择要从该类中删除的商品!");
			else
			{
				DelProduct();
			}
		}

		/// <summary>
		/// 批量删除商品,如果商品存在订单,则不允许删除
		/// </summary>
		private void DelProduct()
		{
			int st_classid = int.Parse(Request.QueryString["st_classid"]);
			StringBuilder sb = new StringBuilder();
			foreach(DataGridItem item in dgProduct.Items)
			{
				if(item.ItemType==ListItemType.Item || item.ItemType==ListItemType.AlternatingItem)
				{
					CheckBox chkID = (CheckBox)item.FindControl("chkID");
					if(chkID.Checked==true)
					{
						int ProductID = int.Parse(item.Cells[0].Text);
						bool flag = st_product.CanDeleteProduct(ProductID);
						if(flag)
						{
							st_product.DeleteProduct(ProductID);
						}
						else
						{
							string productName = item.Cells[2].Text;
							sb.Append("商品");
							sb.Append(productName);
							sb.Append("存在订单");
							sb.Append(";");
						}
					}
				}
			}
			
			if(sb.ToString()=="")
			{
				Response.Write("<script defer>window.location='st_PdClass.aspx?st_classid="+st_classid+"'</script>");
			}
			else
			{
				sb.Append("不允许删除!");
				writeAlertScript(sb.ToString());
				Response.Write("<script defer>window.location='st_PdClass.aspx?st_classid="+st_classid+"'</script>");
			}
		}


		
		private void dgProduct_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
		{
			//添加客户端事件
            e.Item.Cells[7].Attributes.Add("onclick","javascript:return confirm('要从该类中删除此商品吗?');");
		}

		protected void IbtnAddProduct_Click(object sender, System.EventArgs e)
		{
			int ClassID = int.Parse(Request.QueryString["st_classid"]);
			if(ClassID==0)
				writeAlertScript("根节点下不允许添加商品!");
			else
			{
                string str = "<script language='javascript'>ret = window.showModalDialog('ST_ProductAdd.aspx?Action=add&st_classid=" + ClassID + "',window,'dialogHeight:550px;dialogWidth:700px;center:Yes;Help:No;Resizable:No;Status:Yes;Scroll:auto;Status:no;');</script>";
				Response.Write(str);
			}
		}

		/// <summary>
		/// javascript中的alert信息
		/// </summary>
		/// <param name="script"></param>
		protected void writeAlertScript(string script)
		{
			Response.Write("<script defer>alert('"+script+"');</script>");
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -