コード例 #1
0
        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);
        }
コード例 #2
0
        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();
        }
コード例 #3
0
    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(); 
    }
コード例 #4
0
    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);
    }
コード例 #5
0
        /// <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);
                }
            }
        }