using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Entities.Modules.Actions;
using DotNetNuke.Entities.Portals;
using DotNetNuke.Entities.Users;
using DotNetNuke.Security;
using DotNetNuke.Security.Membership;
using DotNetNuke.Security.Permissions;
using DotNetNuke.Services.Exceptions;
using DotNetNuke.Services.Localization;
using DotNetNuke.UI.UserControls;
using DotNetNuke.UI.WebControls;namespace UCP.WebControls
{
[DefaultProperty("Text"), ToolboxData("<{0}:DepartDropDown runat=server></{0}:DepartDropDown>")]
public class DepartDropDown : System.Web.UI.WebControls.DropDownList, INamingContainer
{
private string toadd = "|-";
CustomerControlInfo info = null; public DepartDropDown()
{
this.Items.Add(new ListItem("请选择部门", "0"));
InitDepartDropDown(DepartID);
}
private int _DepartID;
public int DepartID
{
get { return _DepartID; }
set
{
_DepartID = value;
}
}
private void InitDepartDropDown(int ParentDept)
{
int OwnerUserId = GetOwnerUserID();
SqlDataReader reader = CustomerControlController.GetCustomerControlList(ParentDept, OwnerUserId);
while (reader.Read())
{
this.Items.Add(new ListItem(toadd + " " + reader[1].ToString(), reader[0].ToString()));
toadd += "─┴";
this.InitDepartDropDown(Convert.ToInt32(reader[0].ToString()));
toadd = toadd.Substring(0, toadd.Length - 2);
}
reader.Close(); } /// <summary>
/// 获取当前用户的上级用户id
/// </summary>
/// <param name="UserId"></param>
/// <returns></returns>
private int GetOwnerUserID(int UserId)
{
int _OwnerUserID = DataCache.GetCache<int>(string.Format("SettingOwnerUserID{0}", UserId));
if (_OwnerUserID == null || _OwnerUserID <= 0)
{
_OwnerUserID = new UCP.Library.Customer.CustomerFacade().GetOwnerUserIDFromCustomer(UserId);
DataCache.SetCache(string.Format("SettingOwnerUserID{0}", UserId), _OwnerUserID);
}
return _OwnerUserID;
} /// <summary>
/// 获取当前用户的上级用户id
/// </summary>
/// <returns></returns>
private int GetOwnerUserID()
{
int UserId = PortalSettings.Current.UserId;
return GetOwnerUserID(UserId);
}
}
}
代码如上, 这是个封装控件。可以运行,但创建时会在页面出现控件出错..... 运行可以显示出来 但因为调用方法不方便 所以要找出错误
解决方案 »
- 求助正则高手,嵌套标签如何匹配? 嵌套标签的方案
- XML串行化和XML反串行化是什么意思?
- 数据显示问题(使用Respon.Write)。
- 页面刚调出的时候没有滚动条,当点击了response.write("window.open()")后就出现水平和垂直滚动条,怎样取消这个滚动条?
- 求助cookie或session问题,急
- datagrid+单选框的问题,在线等,分不够再加~~
- DropDownList控件 进行数据绑定后,无法获得其值?? --------在线等待,要疯了,搞了一下午
- 求购一套邮件系统包括服务器和客户端(带源码)价格面议 ycdf()解决问题接分
- 有两个DataTable,怎么把第二个DataTable中的第三列加到第个DataTable中,newdt.Columns.Add(dt.Columns[2]);好像不行
- 哪儿有“Crystal Reports 10 简体中文企业版” 下载?
- 如何把二进制用Excel或者.xls
- 无限树怎么管理。
不一定对 猜测 嘿嘿