private void BindSnippet(object source, EventArgs e) { Label snippet = (Label)source; Service.ResultElement elem = GetResultElement(snippet.NamingContainer); snippet.Text = elem.snippet; }
private void BindUrl(object source, EventArgs e) { Label url = (Label)source; Service.ResultElement elem = GetResultElement(url.NamingContainer); url.Text = elem.URL; }
private void BindLink(object source, EventArgs e) { HyperLink link = (HyperLink)source; Service.ResultElement elem = GetResultElement(link.NamingContainer); link.Text = elem.title; link.NavigateUrl = elem.URL; }
/// <summary> /// Returns a valid Service.ResultElement instance /// </summary> /// <param name="index">Index to help create title and url</param> /// <returns>Fully populated Service.ResultElement instance</returns> public static Service.ResultElement GetResultElement(int index) { Service.ResultElement elem = new Service.ResultElement(); elem.title = "Result Control " + index; elem.URL = "http://apress.com/resultcontrol" + index; elem.summary = "Summary"; elem.snippet = "Snippet"; elem.hostName = "apress"; elem.cachedSize = "2k"; elem.relatedInformationPresent = false; elem.directoryTitle = "Test"; elem.directoryCategory = ResultDummyDataSource.GetDirectoryCategory(); return(elem); }
private void CreateControlHierarchy(bool dataBind) { Service.GoogleSearchResult result = null; // Result items items = new ArrayList(); int count = 0; if (dataBind == true) { if (DataSource == null) { return; } result = (Service.GoogleSearchResult)DataSource; Query = result.searchQuery; StartIndex = result.startIndex - 1; // set ViewState values for read-only props ViewState["TotalResultsCount"] = result.estimatedTotalResultsCount; ViewState["EndIndex"] = result.endIndex - 1; count = result.resultElements.Length; } else { object temp = ViewState["ResultItemCount"]; if (temp != null) { count = (int)temp; } } if (HeaderTemplate != null) { ResultItem headerItem = CreateResultItem(-1, ResultItemType.Header, false, null); items.Add(headerItem); } ResultItem statusItem = CreateResultItem(-1, ResultItemType.Status, dataBind, result); items.Add(statusItem); // loop through and create ResultItem controls for each of the // result elements from the Google web service result ResultItemType itemType = ResultItemType.Item; for (int i = 0; i < count; i++) { if (separatorTemplate != null) { ResultItem separator = CreateResultItem(-1, ResultItemType.Separator, false, null); items.Add(separator); } Service.ResultElement resultElem = null; if (dataBind == true) { resultElem = result.resultElements[i]; } ResultItem item = CreateResultItem(i, itemType, dataBind, resultElem); items.Add(item); // swap between item and alternatingitem types if (itemType == ResultItemType.Item) { itemType = ResultItemType.AlternatingItem; } else { itemType = ResultItemType.Item; } } // display pager if allowed by user and if results // are greater than a page in length if (DisplayPager == true && TotalResultsCount > PageSize) { ResultItem pager = CreatePagerResultItem(dataBind, result); items.Add(pager); } if (FooterTemplate != null) { ResultItem footer = CreateResultItem(-1, ResultItemType.Footer, false, null); items.Add(footer); } if (dataBind) { ViewState["ResultItemCount"] = count; } }