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

📄 tablayout.aspx.cs

📁 三层架构的.net源码三层架构的.net源码
💻 CS
📖 第 1 页 / 共 2 页
字号:
			this.RightDeleteBtn.Click += new System.Web.UI.ImageClickEventHandler(this.DeleteBtn_Click);
			this.applyBtn.Click += new System.EventHandler(this.Apply_Click);
			this.Load += new System.EventHandler(this.Page_Load);
		}
		#endregion

		#region 触发的事件

		/// <summary>
		/// 上下移动(原理可参见标签排序所解释的)
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void UpDown_Click(Object sender, ImageClickEventArgs e) 
		{

			String cmd = ((ImageButton)sender).CommandName;
			String pane = ((ImageButton)sender).CommandArgument;
			ListBox _listbox = (ListBox) Page.FindControl(pane);
               
			ArrayList modules = GetModules(pane);
        
			if (_listbox.SelectedIndex != -1) 
			{

				int delta;
				int selection = -1; 
            
				if (cmd == "down") 
				{
            
					delta = 3;
					if (_listbox.SelectedIndex < _listbox.Items.Count-1)
						selection = _listbox.SelectedIndex + 1;
				}
				else 
				{
            
					delta = -3;
					if (_listbox.SelectedIndex > 0)
						selection = _listbox.SelectedIndex - 1;
				}

				ModuleItem m;
				m = (ModuleItem) modules[_listbox.SelectedIndex];
				m.ModuleOrder += delta; 
            
				// reorder the modules in the content pane
				OrderModules(modules);
        
				// resave the order
				Configuration config = new Configuration();
				foreach (ModuleItem item in modules) 
				{
					config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, pane);
				}
			}
        
			// 重定向到原始请求页
			Response.Redirect(Request.RawUrl);
		}

		/// <summary>
		/// 左右移动
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void RightLeft_Click(Object sender, ImageClickEventArgs e) 
		{
			//sourcePane和targetPane分别表示源框架和目标框架
			String sourcePane = ((ImageButton)sender).Attributes["sourcepane"];
			String targetPane = ((ImageButton)sender).Attributes["targetpane"];
			// 源列表框
			ListBox sourceBox = (ListBox) Page.FindControl(sourcePane);
			// 目标列表框
			ListBox targetBox = (ListBox) Page.FindControl(targetPane);
         
			if (sourceBox.SelectedIndex != -1) 
			{
				// 获取源框架中的模块ArrayList
				ArrayList sourceList = GetModules(sourcePane);
        
				// 获取选中项
				ModuleItem m = (ModuleItem) sourceList[sourceBox.SelectedIndex];
            
				// 将它添加到目标框架中(默认最后一个)
				Configuration config = new Configuration();
				config.UpdateModuleOrder(m.ModuleId, 998, targetPane);

				// 从源列表中删除该项
				sourceList.RemoveAt(sourceBox.SelectedIndex);

				// 从HttpContext中获取全局设置对象
				PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"];

				//重新从XML中读取
				HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, tabId);
            
				// 获取源框架中的模块列表并重新排序
				sourceList = GetModules(sourcePane);
				OrderModules(sourceList);
            
				// 保存序号变更
				foreach (ModuleItem item in sourceList) 
				{
					config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, sourcePane);
				}           
            
				// 获取目标框架中的模块列表并重新排序
				ArrayList targetList = GetModules(targetPane);
				OrderModules(targetList);
                        
				// 保存序号变更
				foreach (ModuleItem item in targetList) 
				{
					config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, targetPane);
				}           
            
				// 重定向到原始请求页
				Response.Redirect(Request.RawUrl);
			}
		}

		/// <summary>
		/// 编辑用户模块
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void EditBtn_Click(Object sender, ImageClickEventArgs e) 
		{

			String pane = ((ImageButton)sender).CommandArgument;
			ListBox _listbox = (ListBox) Page.FindControl(pane);

			if (_listbox.SelectedIndex != -1) 
			{

				int mid = Int32.Parse(_listbox.SelectedItem.Value);
            
				// Redirect to module settings page
				Response.Redirect("ModuleSettings.aspx?mid=" + mid + "&tabid=" + tabId);
			}
		}

		/// <summary>
		/// 删除用户模块
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void DeleteBtn_Click(Object sender, ImageClickEventArgs e) 
		{

			String pane = ((ImageButton)sender).CommandArgument;
			ListBox _listbox = (ListBox) Page.FindControl(pane);
			ArrayList modules = GetModules(pane);

			if (_listbox.SelectedIndex != -1) 
			{

				ModuleItem m = (ModuleItem) modules[_listbox.SelectedIndex];
				if (m.ModuleId > -1) 
				{
            
					// must delete from database too
					Configuration config = new Configuration();
					config.DeleteModule(m.ModuleId);
				}
			}

			// 重定向到原始请求页
			Response.Redirect(Request.RawUrl);
		}

		/// <summary>
		/// 添加新模块到标签中去
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void AddModuleToPane_Click(Object sender, EventArgs e) 
		{

			// 添加的新模块默认为最后一个
			ModuleItem m = new ModuleItem();
			m.ModuleTitle = moduleTitle.Text;
			m.ModuleDefId = Int32.Parse(moduleType.SelectedItem.Value);
			m.ModuleOrder = 999;
        
			// 保存设置(默认添加到中间框架)
			Configuration config = new Configuration();
			m.ModuleId = config.AddModule(tabId, m.ModuleOrder, "ContentPane", m.ModuleTitle, m.ModuleDefId, 0, "Admins", false);
        
			// 从HttpContext中获取全局设置对象
			PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"];

			// 重新从XML中读取
			HttpContext.Current.Items["PortalSettings"] = new PortalSettings(portalSettings.PortalId, tabId);
        
			// reorder the modules in the content pane
			// 获取中间模块的用户模块列表并重新排序
			ArrayList modules = GetModules("ContentPane");
			OrderModules(modules);
        
			// resave the order
			// 重新保存序号
			foreach (ModuleItem item in modules) 
			{
				config.UpdateModuleOrder(item.ModuleId, item.ModuleOrder, "ContentPane");
			}

			//重定向到当前请求的原始Url
			Response.Redirect(Request.RawUrl);
		}

		/// <summary>
		/// 当TextBox中文本改变时触发,因为TextBox的AutoPostBack属性没有设置,所以不会触发该事件,也没有必要触发
		/// </summary>
		/// <param name="sender"></param>
		/// <param name="e"></param>
		private void TabSettings_Change(Object sender, EventArgs e) 
		{
			SaveTabData();
		}


		/// <summary>
		/// 提交
		/// </summary>
		/// <param name="Sender"></param>
		/// <param name="e"></param>
		private void Apply_Click(Object Sender, EventArgs e) 
		{

			// Save changes then navigate back to admin.  
			// 好像没有用
			// String id = (String)((LinkButton)Sender).ID;
        
			SaveTabData();

			// 获取管理标签的索引adminIndex,管理标签默认为最后一个
			PortalSettings portalSettings = (PortalSettings) Context.Items["PortalSettings"];
			int adminIndex = portalSettings.DesktopTabs.Count-1;        
			// 返回管理页
			Response.Redirect("~/DesktopDefault.aspx?tabindex=" + adminIndex.ToString() + "&tabid=" + ((TabStripDetails)portalSettings.DesktopTabs[adminIndex]).TabId);
		}

		#endregion

	}
}

⌨️ 快捷键说明

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