private void LoadClientData(RssFeedItem FeedItem, System.Web.UI.Control TargetCtrl) { // Ermitteln den Pfad des Zieldokuments. string szDataDir = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath; if (!szDataDir.EndsWith("/")) { szDataDir += "/"; } szDataDir += "modules/Newsticker"; // Script-Include einfügen. if (!Page.IsClientScriptBlockRegistered("ClientLoadInclude")) { string szScriptInc = "<script language=\"javascript\" src=\"" + szDataDir + "/ClientDataLoad.js\"> </script>"; Page.RegisterClientScriptBlock("ClientLoadInclude", szScriptInc); } string szScript = "<script language=\"JavaScript\">\n" + String.Format("RequestData('{0}/DataSource.aspx?Tab={1}&Ctrl={2}&Name={3}&Src={4}&Nof={5}', '{6}');\n", szDataDir, TabRef, ModuleRef, FeedItem.Title, Server.UrlEncode(FeedItem.Url), FeedItem.MaxNofItems, TargetCtrl.ClientID) + "</script>"; Page.RegisterStartupScript(TargetCtrl.ClientID + "Loader", szScript); }
private void Page_Load(object sender, System.EventArgs e) { bool bAccessAllowed = false; PortalDefinition.Module SelModule = GetModule(Request["Tab"], Request["Ctrl"]); if ((SelModule != null) && (SelModule.type == "Newsticker")) { string szUrl = Server.UrlDecode(Request["Src"]); if (UrlExist(Request["Tab"], SelModule, szUrl)) { bAccessAllowed = true; // Ermitteln der Anzahl Einträge. int nNofItems = 0; try { nNofItems = Convert.ToInt32(Request["Nof"]); } catch (Exception) { nNofItems = 5; } // Wir Laden den gesuchten Feed. RssFeedItem Feed = new RssFeedItem(Request["Name"], szUrl, nNofItems, false); // Wir ermitteln die Repräsentation dieses Objekts. Control FeedParent = new Control(); Feed.AddFeedRepresentation(FeedParent.Controls); // Wir geben die Repräsentation in HTML Code zurück. StringWriter StrWriter = new StringWriter(); HtmlTextWriter TxtWriter = new HtmlTextWriter(StrWriter); FeedParent.RenderControl(TxtWriter); Response.Write(StrWriter.ToString()); } } if (!bAccessAllowed) { Response.Write("No Access"); } Response.End(); }
private void Page_Load(object sender, System.EventArgs e) { bool bAccessAllowed = false; PortalDefinition.Module SelModule = GetModule(Request["Tab"], Request["Ctrl"]); if((SelModule != null) && (SelModule.type == "Newsticker")) { string szUrl = Server.UrlDecode(Request["Src"]); if(UrlExist(Request["Tab"], SelModule, szUrl)) { bAccessAllowed = true; // Ermitteln der Anzahl Einträge. int nNofItems = 0; try { nNofItems = Convert.ToInt32(Request["Nof"]); } catch(Exception) { nNofItems = 5; } // Wir Laden den gesuchten Feed. RssFeedItem Feed = new RssFeedItem(Request["Name"], szUrl, nNofItems, false); // Wir ermitteln die Repräsentation dieses Objekts. Control FeedParent = new Control(); Feed.AddFeedRepresentation(FeedParent.Controls); // Wir geben die Repräsentation in HTML Code zurück. StringWriter StrWriter = new StringWriter(); HtmlTextWriter TxtWriter = new HtmlTextWriter(StrWriter); FeedParent.RenderControl(TxtWriter); Response.Write(StrWriter.ToString()); } } if(!bAccessAllowed) { Response.Write("No Access"); } Response.End(); }
private void LoadClientData(RssFeedItem FeedItem, System.Web.UI.Control TargetCtrl) { // Ermitteln den Pfad des Zieldokuments. string szDataDir = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath; if (!szDataDir.EndsWith("/")) szDataDir += "/"; szDataDir += "modules/Newsticker"; // Script-Include einfügen. if (!Page.IsClientScriptBlockRegistered("ClientLoadInclude")) { string szScriptInc = "<script language=\"javascript\" src=\"" + szDataDir + "/ClientDataLoad.js\"> </script>"; Page.RegisterClientScriptBlock("ClientLoadInclude", szScriptInc); } string szScript = "<script language=\"JavaScript\">\n" + String.Format("RequestData('{0}/DataSource.aspx?Tab={1}&Ctrl={2}&Name={3}&Src={4}&Nof={5}', '{6}');\n", szDataDir, TabRef, ModuleRef, FeedItem.Title, Server.UrlEncode(FeedItem.Url), FeedItem.MaxNofItems, TargetCtrl.ClientID) + "</script>"; Page.RegisterStartupScript(TargetCtrl.ClientID + "Loader", szScript); }
/// <summary> /// Wird für jede Zeile aufgerufen, welche beim Repeater gebunden wird. /// </summary> /// <param name="source"></param> /// <param name="e"></param> protected void OnItemDataBound(object sender, RepeaterItemEventArgs e) { // Für alle Einträge ausführen. if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { // Datenobjekt ermitteln. RssFeedItem FeedItem = (RssFeedItem)e.Item.DataItem; // Parent Element ermitteln. Control ParentCtrl = e.Item.FindControl("NewsData"); // Falls ein Feed vorhanden ist, fügen wir diesen ein. if (FeedItem.DataExist) { FeedItem.AddFeedRepresentation(ParentCtrl.Controls); } else { // Es ist kein Feed vorhanden, darum fügen wir ein Script ein, welches diesen nachträglich anfordert. // Andernfalls fügen wir ein Script ein, welches den Feed nachträglich anfordert. LoadClientData(FeedItem, ParentCtrl); } } }