protected void btnUserCPSet_Click(object sender, EventArgs e) { // 为已选择用户设置频道 //string uCPlst = Request.Form[hfUserCP.UniqueID].ToString(); string uCPlst = hfUserCP.Value; string[] currUserCPs = uCPlst.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries); string userName = tvCPUsers.SelectedNode.Text; string userID = tvCPUsers.SelectedValue; Model.ChannelProgram[] mcps = dbll.getUsedChannelByUserID(userID); string[] prevUserCPs = new string[mcps.Length]; for (int i = 0; i < mcps.Length; i++) { prevUserCPs[i] = mcps[i].CP_ID.ToString(); } // 找不同的频道ID string[] addArr = findDistinct(prevUserCPs, currUserCPs); // string[] delArr = findDistinct(currUserCPs, prevUserCPs); // if (addArr.Length == 0 && delArr.Length == 0) { Response.Write("<script language=\"javascript\" type=\"text/javascript\">alert('已选频道没有任何改变!');</script>"); return; } lbMessage.Text = ""; lbWarning.Text = ""; for (int i = 0; i < addArr.Length; i++) { if (sbll.addCPUser(userID, Convert.ToInt32(addArr[i]))) { lbMessage.Text += String.Format("频道:{0} 用户:{1} 设置成功。<br/>", addArr[i], userName); } else { lbWarning.Text += String.Format("频道:{0} 用户:{1} 设置失败!<br/>", addArr[i], userName); } } for (int j = 0; j < delArr.Length; j++) { if (sbll.delCPUser(userID, Convert.ToInt32(delArr[j]))) { lbMessage.Text += String.Format("频道:{0} 用户:{1} 解除成功。<br/>", delArr[j], userName); } else { lbWarning.Text += String.Format("频道:{0} 用户:{1} 解除失败!<br/>", delArr[j], userName); } } // 加载该频道未设置的用户列表和已设置的用户列表 lbUsableCPDataBind(userID); lbUsedCPDataBind(userID); tvCPUsersDataBind(); // 设置TreeView的选择状态 TreeNode lastNode = null; foreach (TreeNode node in tvCPUsers.Nodes) { lastNode = GetNode(node, userID); if (lastNode != null) { break; } } // 选中并展开子节点 if (lastNode != null) { lastNode.Selected = true; lastNode.Expand(); } }