ÄúĿǰÉÐδµÇ½£¬ÇëÑ¡Ôñ¡¾µÇ½¡¿»ò¡¾×¢²á¡¿
Ê×Ò³->²©¿ÍÂÛ̳->SpaceBuilder v1.1Ô´´úÂë>>BasicWebControls/Utility/UserSelector.cs>>Ô´ÂëÔÚÏ߲鿴
ÎÂܰÌáʾ£º´úÂëÔÚÏßä¯ÀÀ¹¦ÄÜÖ»ÄÜ×öΪԴÂëä¯ÀÀ²Î¿¼£¬Èç¹ûÏë¸ü½øÒ»²½Á˽â¸Ã´úÂëÇëÏÂÔØ£ºSpaceBuilder v1.1Ô´´úÂë
µ±Ç°Îļþ£ºÎļþÀàÐÍ SpaceBuider11/BasicWebControls/Utility/UserSelector.cs£¬´ò¿ª´úÂë½á¹¹Í¼
ÆÕͨÊÓͼ
		            
1//------------------------------------------------------------------------------ 2// <copyright company="Tunynet"> 3// Copyright (c) Tunynet Inc. All rights reserved. 4// </copyright> 5//------------------------------------------------------------------------------ 6 7using System; 8using System.Collections.Generic; 9using System.Text; 10using SpaceBuilder.Controls.BaseClasses; 11using System.Web.UI.WebControls; 12using SpaceBuilder.Controls; 13using SpaceBuilder.Configuration; 14using SpaceBuilder.Components; 15using TunyNet.Data.Utils; 16using SpaceBuilder.Utils; 17using TunyNet.Web.UI; 18 19namespace SpaceBuilder.Web.Controls 20{ 21 /// <summary> 22 /// Óû§Ñ¡ÔñÆ÷£¬ÓÃÓÚ·¢ËÍ˽ÐÅ¡¢·¢ËÍȦ×ÓÑûÇë¡¢·¢ËͻÑûÇë 23 /// </summary> 24 public class UserSelector : TemplatedWebControl 25 { 26 SBContext sbContext; 27 28 protected override void OnInit(EventArgs e) 29 { 30 if (SkinName == null) 31 ExternalSkinFileName = "Utility/Skin-UserSelector.ascx"; 32 else 33 ExternalSkinFileName = SkinName; 34 35 sbContext = SBContext.Current; 36 37 base.OnInit(e); 38 } 39 40 TextBox nameKeyword; 41 DropDownList searchRange; 42 Button searchButton; 43 Repeater userRepeater; 44 45 LinkButton selectButton; 46 LinkButton cancelButton; 47 48 protected override void AttachChildControls() 49 { 50 nameKeyword = FindControl("NameKeyword") as TextBox; 51 searchRange = FindControl("SearchRange") as DropDownList; 52 searchButton = FindControl("SearchButton") as Button; 53 if (searchButton != null) 54 searchButton.Click += new EventHandler(SearchButton_Click); 55 56 userRepeater = FindControl("UserRepeater") as Repeater; 57 userRepeater.ItemDataBound += new RepeaterItemEventHandler(UserRepeater_ItemDataBound); 58 59 selectButton = FindControl("SelectButton") as LinkButton; 60 selectButton.Click += new EventHandler(SelectButton_Click); 61 62 cancelButton = FindControl("CancelButton") as LinkButton; 63 cancelButton.Click += new EventHandler(CancelButton_Click); 64 } 65 66 protected override void OnLoad(EventArgs e) 67 { 68 base.OnLoad(e); 69 EnsureChildControls(); 70 Header.AddTitle("Ñ¡ÔñÓû§", Context); 71 72 if (!Page.IsPostBack) 73 { 74 if (searchRange != null) 75 { 76 searchRange.Items.Clear(); 77 78 if (SiteSettingsManager.GetSiteSettings().EnableSelectAllUserInUserSelector) 79 searchRange.Items.Add(new ListItem("ËÑË÷ËùÓÐÈË", "0")); 80 81 searchRange.Items.Add(new ListItem("ÎÒµÄÅóÓÑ", "1")); 82 searchRange.Items.Add(new ListItem("¶þ²ãÅóÓÑ", "2")); 83 searchRange.Items.Add(new ListItem("Èý²ãÅóÓÑ", "3")); 84 searchRange.Items.FindByValue("1").Selected = true; 85 searchRange.DataBind(); 86 } 87 88 BindDate(); 89 } 90 } 91 92 private void BindDate() 93 { 94 PersonUserFullTextQuery query = new PersonUserFullTextQuery(); 95 query.NameKeyword = nameKeyword.Text.Trim(); 96 query.SearchRage = int.Parse(searchRange.SelectedValue); 97 query.PageSize = 100; 98 query.PageIndex = 0; 99 SearchResultDataSet<PersonUser> pds = UserSearchProvider.Instance().Search(sbContext.User, query); 100 userRepeater.DataSource = pds.Records; 101 userRepeater.DataBind(); 102 } 103 104 105 void SearchButton_Click(object sender, EventArgs e) 106 { 107 BindDate(); 108 } 109 110 void UserRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 111 { 112 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 113 { 114 PersonUser pu = e.Item.DataItem as PersonUser; 115 if (pu != null) 116 { 117 CheckBox selector = e.Item.FindControl("Selector") as CheckBox; 118 if (selector != null) 119 { 120 selector.Attributes["value"] = pu.DisplayName + "," + pu.UserName; 121 } 122 123 HyperLink displayName = e.Item.FindControl("DisplayName") as HyperLink; 124 if (displayName != null) 125 { 126 displayName.NavigateUrl = UserUrls.Instance().UserProfile(pu.UserName, pu.UserType); 127 displayName.Target = "_blank"; 128 displayName.ToolTip = "²é¿´Óû§µµ°¸"; 129 130 if (Privacys.ValidatePrivacys(pu, PrivacyItem.CommonName, sbContext.User)) 131 displayName.Text = pu.CommonName + "(" + pu.NickName + ")"; 132 else 133 if (Privacys.IsStoper(pu.UserID, sbContext.User.UserID)) 134 displayName.Text = "Òþ²Ø"; 135 else 136 displayName.Text = pu.NickName; 137 } 138 139 Literal nowArea = e.Item.FindControl("NowArea") as Literal; 140 if (nowArea != null) 141 { 142 nowArea.Text = Formatter.FormatArea(pu.NowAreaID, 0, 2); 143 } 144 145 if (Privacys.ValidatePrivacys(pu, PrivacyItem.BusinessContactInfo, sbContext.User)) 146 { 147 Literal companyName = e.Item.FindControl("CompanyName") as Literal; 148 if (companyName != null) 149 { 150 companyName.Text = pu.CompanyName; 151 } 152 } 153 154 } 155 } 156 } 157 158 void SelectButton_Click(object sender, EventArgs e) 159 { 160 List<string> displayNames = new List<string>(); 161 List<string> userNames = new List<string>(); 162 163 foreach (RepeaterItem item in this.userRepeater.Items) 164 { 165 //ÕÒµ½Ñ¡Öи´Ñ¡¿ò 166 CheckBox selector = item.FindControl("Selector") as CheckBox; 167 if (selector != null && selector.Checked) 168 { 169 string[] arrayValue = selector.Attributes["value"].Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); 170 displayNames.Add(arrayValue[0]); 171 userNames.Add(arrayValue[1]); 172 } 173 } 174 175 if (displayNames.Count > 0) 176 { 177 178 string returnValues = string.Format("new Array(\"{0}\",\"{1}\")", string.Join(",", displayNames.ToArray()), string.Join(",", userNames.ToArray())); 179 string closeScript = string.Format("<script language=\"javascript\">{0}</script>", TunyNet.Web.UI.Modal.GetCloseScript(this.Page, returnValues)); 180 Page.ClientScript.RegisterStartupScript(this.GetType(), this.GetType().FullName, closeScript); 181 } 182 else 183 { 184 ModalHelper.ClosePage(this.Page); 185 } 186 } 187 188 189 void CancelButton_Click(object sender, EventArgs e) 190 { 191 ModalHelper.ClosePage(this.Page); 192 } 193 194 195 } 196} 197
»¹Ã»ÓÐÕÒµ½ÄúÐÄÒǵÄÄÚÈÝ£¿ÇëÓÃ.netÔ´Âë´óËѲ¶
´úÂëÆ¬¶Ï ´ò°üÏÂÔØ¸ÃÏîÄ¿ÍêÕûÔ´Â룺SpaceBuilder v1.1Ô´´úÂë