public string[] GetDivisionList(string prefixText, int count, string contextKey) { JavaScriptSerializer serializer = new JavaScriptSerializer(); // AutoCompleteParameter is a ValueObject DTO that used in AutoComplete only AutoCompleteParameter parameter = serializer.Deserialize <AutoCompleteParameter>(contextKey); // Retreive Query Object from Spring ISuDivisionLangQuery suDivisionQuery = (ISuDivisionLangQuery)ContextRegistry.GetContext().GetObject("SuDivisionLangQuery"); // Return type of FindAutoComplete method must be a ValueObject only IList <SS.SU.DTO.ValueObject.DivisionLang> divisionList = suDivisionQuery.FindAutoComplete(prefixText, parameter.LanguageId ?? -1, parameter.OrganizationId ?? -1); List <string> items = new List <string>(divisionList.Count); foreach (SS.SU.DTO.ValueObject.DivisionLang division in divisionList) { //Serialize ValueObject to JSON String and set it to AutoCompleteItem's Value string item = AutoCompleteExtender.CreateAutoCompleteItem(division.DivisionName, serializer.Serialize(division)); items.Add(item); } //return lists; return(items.ToArray()); }
protected void Page_Load(object sender, EventArgs e) { short orgId = UIHelper.ParseShort(OrganizationId); short langId = UIHelper.ParseShort(LanguageId); AutoCompleteParameter parameter = new AutoCompleteParameter(); parameter.LanguageId = langId; parameter.OrganizationId = orgId; JavaScriptSerializer serializer = new JavaScriptSerializer(); ctlDivisionAutoComplete.ContextKey = serializer.Serialize(parameter); ctlDivisionAutoComplete.UseContextKey = true; }