X
dnn.blog.
Back

Creating thumbs from a webpage

pizza Often it is a good thing to visualize a link to something with a thumb of the page you linked to. Imagine you have a link-module where you sample interesting links to, let’s say … pizza services. You want to add a screenshot of their homepage to help your visitors to identify the pizza service they are looking for. But adding all these thumbs manually is something you don’t wish your hardest enemy has to do. So, how can we accomplish this automatically ?

 

 

The WebBrowser Control

Most of the magic is done by the WebBrowser Control. We can instantiate a WebBrowser-Control, let it navigate to the Url we entered before.

WebBrowser ieBrowser = new WebBrowser();
ieBrowser.ScrollBarsEnabled = false; 
ieBrowser.ScriptErrorsSuppressed = true;
ieBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(IEBrowser_DocumentCompleted);
ieBrowser.Navigate(Url);

When the DocumentCompleted - event is fired, we are able to take a snapshot of the content. We have to deal a little bit with scrollbars but that is no magic at all.

void IEBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
   WebBrowser browser = (WebBrowser)sender; 
   browser.Width = doc.Body.ScrollRectangle.Width; 
   browser.Height = doc.Body.ScrollRectangle.Height; 
   Bitmap bitmap = new Bitmap(browser.Width, browser.Height); 
   browser.DrawToBitmap(bitmap, new Rectangle(0, 0, browser.Width, browser.Height));
   browser.Dispose(); 
   bitmap.Save(File, ImageFormat.Jpeg); 
}

Ups we need this in a static thread

If you integrate this in your DNN-Module and try to use it you get an error. You have to run the WebBrowser Control in a static thread. So we have to do a little bit more. Lets add a new class to our module:

using System.Windows.Forms; 
using System.Threading; 
using System.Drawing; 
using System.Drawing.Imaging; 

public class IEBrowser : System.Windows.Forms.ApplicationContext 
{ 
   string File; 
   AutoResetEvent ResultEvent; 

   public IEBrowser(string url, string file, AutoResetEvent resultEvent) 
   { 
      ResultEvent = resultEvent; 
      Thread thrd = new Thread(new ThreadStart( delegate { Init(url, file); System.Windows.Forms.Application.Run(this); })); 
      // set thread to STA state before starting 
      thrd.SetApartmentState(ApartmentState.STA);
      thrd.Start(); 
   } 

   private void Init(string Url, string file) 
   { 
      // create a WebBrowser control 
      WebBrowser ieBrowser = new WebBrowser(); 
      ieBrowser.ScrollBarsEnabled = false; 
      ieBrowser.ScriptErrorsSuppressed = true; 
      // set WebBrowser event handle 
      ieBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(IEBrowser_DocumentCompleted); 
      ieBrowser.Navigate(Url); File = file; 
   } 

   // DocumentCompleted event handle 
   void IEBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
   {
       try 
      { 
         WebBrowser browser = (WebBrowser)sender; 
         browser.Width = doc.Body.ScrollRectangle.Width; 
         browser.Height = doc.Body.ScrollRectangle.Height; 
         Bitmap bitmap = new Bitmap(browser.Width, browser.Height); 
         browser.DrawToBitmap(bitmap, new Rectangle(0, 0, browser.Width, browser.Height)); 
         browser.Dispose(); 
         bitmap.Save(File, ImageFormat.Jpeg); 
      } 
      catch (System.Exception) { } 
      finally 
      { 
         ResultEvent.Set(); 
      }
    } 
}

Now you can call the following code to save the snapshot:

AutoResetEvent resultEvent = new AutoResetEvent(false); 
IEBrowser browser = new IEBrowser("http://www.bitboxx.net", @"C:\InetPub\wwwroot\dnn\Portals\25\images/thumbs\22.jpg", resultEvent); 
EventWaitHandle.WaitAll(new AutoResetEvent[] { resultEvent });

Thats all. Only some bits of code but impressive when you see it in action.

Just another tip. If you want to save a snapshot from a HTML-snippet and not from a  webpage, you can inject this HTML into the WebBrowser control. The only thing you have to change is navigating to “about:blank” and in the DocumentCompleted-event add a little bit of code:

HtmlDocument doc = browser.Document; 
doc.OpenNew(true); 
doc.Write(Html);

If you read my blog post about flexible module design with templates, you can use this mimic to visualize the entered HTML in the template textbox. The only thing you must have in mind is, that you have to add references to all CSS files to your generated HTML. And don’t forget to add the opening and closing and tags

Example:

private void GenThumb(ProductTemplateInfo Template, string thumb)
{
    StringBuilder sb = new StringBuilder();
    sb.AppendLine("<html><head>");
    sb.AppendLine("<link href=\"file:///" + Server.MapPath("~/Portals/_default/default.css") + "\" rel=\"stylesheet\" type=\"text/css\" />");
    sb.AppendLine("<link href=\"file:///" + Server.MapPath("~/DesktopModules/BBStore/module.css") + "\" rel=\"stylesheet\" type=\"text/css\" />");
    sb.AppendLine("<link href=\"file:///" + Server.MapPath(PortalSettings.ActiveTab.SkinPath + "skin.css") + "\" rel=\"stylesheet\" type=\"text/css\" />");
    sb.AppendLine("<link href=\"file:///" + Server.MapPath(PortalSettings.HomeDirectory + "portal.css") + "\" rel=\"stylesheet\" type=\"text/css\" />");
    sb.AppendLine("</head>");
    sb.AppendLine("<body>");
    sb.Append(Template.Template);
    sb.AppendLine("</body></html>");

    sb.Replace("[TITLE]", "Product Title");
    sb.Replace("[PRODUCTDESCRIPTION]", "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum .");
    sb.Replace("[PRODUCTOPTIONS]", "<span class=\"Normal\">ProductOption</span>&nbsp;<select class=\"NormalTextBox\" name=\"Select1\"><option>Option1</option></select>");
    sb.Replace("[MANDATORYERROR]", "Error Message");
    sb.Replace("[PRICE]", "123.44");
    sb.Replace("[CURRENCY]", PortalSettings.Currency);
    sb.Replace("[ADDCARTIMAGE]", "<img src=\"file:///" + Server.MapPath("~/images/cart.gif") + "\" />");
    sb.Replace("[ADDCARTLINK]", "Add to cart");
    sb.Replace("[TAX]", "includes tax (19%)");
    sb.Replace("[AMOUNT]", "<input name=\"Text1\" type=\"text\" size=\"3\" value=\"1\"/>");

    AutoResetEvent resultEvent = new AutoResetEvent(false);
    IEBrowser browser = new IEBrowser(false, sb.ToString(), thumb, resultEvent);
    EventWaitHandle.WaitAll(new AutoResetEvent[] { resultEvent });
}
Back
Total: 16 Comment(s)
khaness9
A complete procedure of Creating thumbs from a webpage, you like to posted here. This one is new for me and if we copy the above code and past the required place in the web page. However, i try to find a best site like http://bestwritingclues.com/reviews/speedypaper-review/ to get best theme idea. I'm happy to be part of this site. Thanks for it.
Tuesday, August 14, 2018 · reply ·
usawriters
I must express some thanks to you just for rescuing me from this problem. Just after scouting through the the net and meeting advice that were not productive, I was thinking my entire life was done. Being alive minus the answers to the problems you have sorted out by way of your entire post is a critical case, and the ones which may have in a wrong way damaged my career if I had not come across your blog. Your personal expertise and kindness in controlling all the details was excellent. I am not sure what I would've done if I hadn't encountered such a solution like this. It’s possible to now look ahead to my future. Thank you very much for the impressive and results-oriented guide. I will not think twice to refer your web site to any individual who should get counseling about this topic. https://usawriters.org
Friday, August 2, 2019 · reply ·
Lucille F. Parham
This is the third time I visited in this blog. keep posting such stuff. Thanks a lot for the information. https://smashyroad.io/
Saturday, January 11, 2020 · reply ·
Ask2Human
https://ask2human.com/">Customer Care Number
https://ask2human.com/">Ask2human
https://ask2human.com/listing/airtel-customer-care-number">Airtel Customer Care Number
https://ask2human.com/listing/bharat-gas-customer-care-number/">Bharat Gas Customer Care Number
https://ask2human.com/listing/hdfc-bank-customer-care-number/">HDFC Bank Customer Care Number
https://ask2human.com/listing/apple-customer-care-number/">Apple Customer Care Number
https://ask2human.com/listing/bata-customer-care-number/">Bata Customer Care Number
https://ask2human.com/listing/amazon-customer-care-number/">Amazon Customer Care Number
https://ask2human.com/listing/bookmyshow-customer-care-number/">BookMyShow Customer Care Number
https://ask2human.com/listing/caratlane-customer-care-number/">CaratLane Customer Care Number
https://ask2human.com/listing/chai-point-customer-care-number/">Chai Point Customer Care Number
https://ask2human.com/listing/cleartrip-customer-care-number/">Cleartrip Customer Care Number
https://ask2human.com/listing/croma-customer-care-number/">Croma Customer Care Number
https://ask2human.com/listing/expedia-customer-care-number/">Expedia Customer Care Number
https://ask2human.com/listing/ebay-customer-care-number/">Ebay Customer Care Number
https://ask2human.com/listing/firstcry-customer-care-number/">FirstCry Customer Care Number
https://ask2human.com/listing/flipkart-customer-care-number/">Flipkart Customer Care Number
https://ask2human.com/listing/goair-customer-care-number/">GoAir Customer Care Number
https://ask2human.com/listing/godaddy-customer-care-number/">GoDaddy Customer Care Number
https://ask2human.com/listing/goibibo-customer-care-number/">Goibibo Customer Care Number
https://ask2human.com/listing/goindigo-customer-care-number/">GoIndiGo Customer Care Number
https://ask2human.com/listing/grofers-customer-care-number/">Grofers Customer Care Number
https://ask2human.com/listing/homeshop18-customer-care-number/">HomeShop18 Customer Care Number
https://ask2human.com/listing/hotels-com-customer-care-number/">Hotels.com Customer Care Number
https://ask2human.com/listing/irctc-customer-care-number/">IRCTC Customer Care Number
https://ask2human.com/listing/ixigo-customer-care-number/">Ixigo Customer Care Number
https://ask2human.com/listing/jabong-customer-care-number/">Jabong Customer Care Number
https://ask2human.com/listing/jet-airways-customer-care-number/">Jet Airways Customer Care Number
https://ask2human.com/listing/koovs-customer-care-number/">Koovs Customer Care Number
https://ask2human.com/listing/lenskart-customer-care-number/">Lenskart Customer Care Number
https://ask2human.com/listing/limeroad-customer-care-number/">Limeroad Customer Care Number
https://ask2human.com/listing/makemytrip-customer-care-number/">MakeMyTrip Customer Care Number
https://ask2human.com/listing/myntra-customer-care-number/">Myntra Customer Care Number
https://ask2human.com/listing/naaptol-customer-care-number/">Naaptol Customer Care Number
https://ask2human.com/listing/nykaa-customer-care-number/">Nykaa Customer Care Number
https://ask2human.com/listing/ola-cabs-customer-care-number/">Ola Cabs Customer Care Number
https://ask2human.com/listing/pantaloons-customer-care-number/">Pantaloons Customer Care Number
https://ask2human.com/listing/paytm-customer-care-number/">PayTM Customer Care Number
https://ask2human.com/listing/nearbuy-customer-care-number/">NearBuy Customer Care Number
https://ask2human.com/listing/pepperfry-customer-care-number/">Pepperfry Customer Care Number
https://ask2human.com/listing/portea-medical-customer-care-number/">Portea Medical Customer Care Number
https://ask2human.com/listing/pvr-cinemas-customer-care-number/">PVR Cinemas Customer Care Number
https://ask2human.com/listing/quikr-customer-care-number/">Quikr Customer Care Number
https://ask2human.com/listing/redbus-customer-care-number/">Redbus Customer Care Number
https://ask2human.com/listing/shopclues-customer-care-number/">ShopClues Customer Care Number
https://ask2human.com/listing/shoppers-stop-customer-care-number/">Shoppers Stop Customer Care Number
https://ask2human.com/listing/rediff-customer-care-number/">Rediff Customer Care Number
https://ask2human.com/listing/snapdeal-customer-care-number/">Snapdeal Customer Care Number
https://ask2human.com/listing/xfinity-customer-care-number/">Xfinity Customer Care Number
https://ask2human.com/listing/usha-customer-care-number/">Usha Customer Care Number
https://ask2human.com/listing/oyo-rooms-customer-care-number/">Oyo Rooms Customer Care Number
https://ask2human.com/listing/zomato-customer-care-number/">Zomato Customer Care Number
https://ask2human.com/listing/spicejet-customer-care-number/">SpiceJet Customer Care Number
https://ask2human.com/listing/swiggy-customer-care-number/">Swiggy Customer Care Number
https://ask2human.com/listing/travelguru-customer-care-number/">Travelguru Customer Care Number
https://ask2human.com/listing/tripadvisor-customer-care-number/">TripAdvisor Customer Care Number
https://ask2human.com/listing/spectrum-customer-care-number/">Spectrum Customer Care Number
https://ask2human.com/listing/aakash-institute-customer-care-number/">Aakash Institute Customer Care Number
https://ask2human.com/listing/acc-limited-customer-care-number/">ACC Limited Customer Care Number
https://ask2human.com/listing/aol-customer-care-number/">Aol Customer Care Number
https://ask2human.com/listing/accu-chek-customer-care-number/">Accu-Chek Customer Care Number
https://ask2human.com/listing/urbanclap-customer-care-number/">UrbanClap Customer Care Number
https://ask2human.com/listing/acer-customer-care-number/">Acer Customer Care Number
https://ask2human.com/listing/intex-customer-care-number/">Intex Customer Care Number
https://ask2human.com/listing/bigbasket-customer-care-number/">BigBasket Customer Care Number
https://ask2human.com/listing/walmart-customer-care-number/">Walmart Customer Care Number
https://ask2human.com/listing/bharat-gas-customer-care-number/">Bharat Gas Customer Care Number
https://ask2human.com/listing/delhi-metro-rail-customer-care-number/">Delhi Metro Rail Customer Care Number
https://ask2human.com/listing/vijay-sales-customer-care-number/">Vijay Sales Customer Care Number
https://ask2human.com/listing/voltas-customer-care-number/">Voltas Customer Care Number
https://ask2human.com/listing/lg-customer-care-number/">LG Customer Care Number
https://ask2human.com/listing/rapido-bike-customer-care-number/">Rapido Bike Customer Care Number
https://ask2human.com/listing/jio-customer-care-number/">Jio Customer Care Number
https://ask2human.com/listing/yatra-customer-care-number/">Yatra Customer Care Number
https://ask2human.com/listing/verizon-customer-care-number/">Verizon Customer Care Number
Tuesday, February 11, 2020 · reply ·
Nelson T. Nivens
The first step is to find a perfect and professional realtor who related to finding your dream place. The step to be a nice manner to find a good realtor like and others for your area is with the help of referrals For More Information. https://www.entrepreneurshiplife.com/qa-with-larry-weltman-toronto-business-leader-executive-at-accesseasyfunds/
Thursday, February 27, 2020 · reply ·
Yeezy
http://www.supplyyeezy.us.com/ Yeezy Supply http://www.pandorabijouxfr.fr/ Pandora http://www.yeezyadidas.fr/ Yeezy http://www.airforce1.de/ Air Force 1 http://www.nikeairforce1.de/ Nike Air Force 1 http://www.nikeairmax270.de/ Nike Air Max 270 http://www.kobebryant-jersey.us/ Kobe Bryant Jersey http://www.kobebryantjerseysforsale.us/ Kobe Bryant Jerseys For Sale http://www.kobebryantjersey24.us/ Kobe Bryant Jersey 24 http://www.kobebryantwebsiteofficial.us/ Kobe Bryant Website Official http://www.pandorasoldes2020.fr/ Pandora Bijoux http://www.yeezy-shoe.us.com/ Yeezy http://www.yeezymafia.us.com/ Yeezy http://www.supplyyeezy.us.com/ Yeezy Shoes http://www.nikeshoes.us.org/ Nike Shoes http://www.nfl-jerseys.us.org/ NFL Jerseys http://www.yeezyboost350.us.com/ Yeezy Boost 350 http://www.yeezy350.us.com/ Yeezy http://www.yeezy-shoes.in.net/ Yeezy Shoes http://www.yeezys.me.uk/ Yeezy http://www.yeezy-350.org.uk/ Yeezy http://www.yeezy350.org.uk/ Yeezy 350 http://www.yeezys.us.com/ Yeezy http://www.yeezy.com.co/ Yeezy Shoes http://www.adidasyeezy.us.com/ Adidas Yeezy http://www.yeezy700.org.uk/ Yeezy 700 http://www.nikeoutletstoreonlineshopping.us/ Nike Outlet http://www.yeezy-shoes.in.net/ Yeezy Shoes http://www.mlbshop.us.com/ MLB Shop http://www.adidasyeezy.de/ Adidas Yeezy http://www.mlbjerseys.us.com/ MLB Jerseys http://www.yeezy380.us/ Yeezy 380 http://www.yeezy380.us.com/ Yeezy 380 http://www.nikefactory.us.com/ Nike Outlet http://www.humanraces.us.com/ Human Races http://www.humanracesshoes.us/ Human Race Shoes http://www.uggs-officialsite.org/ Uggs Official Site http://www.pandoraonline-shop.de/ Pandora http://www.basketball-jerseys.us.com/ Basketball Jerseys http://www.jerseysbasketball.us/ Basketball Jerseys http://www.jerseys-nba.us/ Cheap NBA Jerseys http://www.nikes-shoes.us.com/ Nike Outlet http://www.pandoraoutletcanada.ca/ Pandora Canada http://www.pandora-charms.org/ Pandora Charms http://www.jewelrypandora.org/ Pandora Jewelry http://www.pandora-outlet.us.org/ Pandora Outlet http://www.pandorajewelryofficialwebsite.us.com/ Pandora Jewelry Official Site http://www.mlbjerseysofficial.us.com/ MLB Jerseys http://www.pandoras.fr/ Pandora http://www.pandorabijouxfr.fr/ Pandora Bijoux http://www.yeezyadidas.fr/ Adidas Yeezy http://www.pandorasoldes2020.fr/ Pandora Soldes 2020 http://www.yeezy-shoe.us.com/ Yeezy Shoes http://www.yeezymafia.us.com/ Yeezy Mafia ウレ
Sunday, April 5, 2020 · reply ·
gospel music 2021
https://gospelmusic2021.org/Khulekani-Chilli-mp3-download/ https://gospelmusic2021.org/Khulekani-Chilli-mp3-download/ https://gospelmusic2021.org/soweto-gospel-choir/ https://gospelmusic2021.org/tag/soweto-gospel-choir/ https://gospelmusic2021.org/album-soweto-gospel-choir-blessed/ https://gospelmusic2021.org/fakaza-mp3-download/ https://gospelmusic2021.org/album-amadodana-ase-wesile-lona-baratang-ho-phela/ https://gospelmusic2021.org/album-kholeka-masizilungiselele/ https://gospelmusic2021.org/chinese gospel artist/ https://gospelmusic2021.org/chinese gospel artist/ https://gospelmusic2021.org/tag/gospel-music-2021/ https://gospelmusic2021.org/tag/fakaza-gospel-2020-download/ https://gospelmusic2021.org/tag/nice-gospel-songs/ https://gospelmusic2021.org/khulekani chili-fakaza/ https://gospelmusic2021.org/tag/khulekani-chili-music-artist/ https://gospelmusic2021.org/tag/western-gospel-music/ https://gospelmusic2021.org/tag/black-gospel-music/ https://gospelmusic2021.org/tag/american-gospel-music/ https://gospelmusic2021.org/joyous-celebration-sabela-uyabizwa/ https://gospelmusic2021.org/joyous-celebration-mp3-download/ https://gospelmusic2021.org/tag/dr-winnie-mashaba/ https://gospelmusic2021.org/tag/lebo-sekgobela/ https://gospelmusic2021.org/nigerian-gospel-song/ https://gospelmusic2021.org/malawi-music/ https://gospelmusic2021.org/frank-edwards-wedding-day/ https://gospelmusic2021.org/tag/judikay/ https://gospelmusic2021.org/judikay-more-than-gold-ft-mercy-chinwo/ https://gospelmusic2021.org/tag/mercy-chinwo/ https://gospelmusic2021.org/sinach-songs-mp3-download/ https://gospelmusic2021.org/tag/fakaza-gospel/ https://gospelmusic2021.org/tag/gospel-music-2021/ https://gospelmusic2021.org/tag/south-african-gospel-songs/ https://gospelmusic2021.org/tag/sa-gospel-music/ https://gospelmusic2021.org/tag/zulu-song/ https://gospelmusic2021.org/soweto-songs/ https://gospelmusic2021.org/youtube/ https://gospelmusic2021.org/zaza-songs-mp3 download/ https://gospelmusic2021.org/dumi-mkokstad-usibiyele/ https://gospelmusic2021.org/tag/zamob-gospel/ https://gospelmusic2021.org/tag/dumi-mkokstad/ https://gospelmusic2021.org/tag/malawi-music/ https://gospelmusic2021.org/dumi-mkokstad-usibiyele/ https://gospelmusic2021.org/tag/zamob-gospel/ https://gospelmusic2021.org/tag/dumi-mkokstad/ https://gospelmusic2021.org/tag/malawi-music/ https://gospelmusic2021.org/ http://thenignews.com/ https://gospelmusic2021.org/dumi-mkokstad-usibiyele/ https://gospelmusic2021.org/tag/KhulekanI-Chilli-gospel-artist/ https://gospelmusic2021.org/tag/zaza-songs-fakaza-mp3/ https://gospelmusic2021.org/tag/malawi-music/
Thursday, July 2, 2020 · reply ·
Yeezy sliders
http://www.airmax97.us.com/ Air Max 97 http://www.max270.us.com/ Nike Air Max 270 http://www.supplyyeezy.us.com/ Yeezy Supply http://www.yeezyadidas.fr/ Yeezy http://www.airforce1.de/ Air Force 1 http://www.nikeairforce1.de/ Nike Air Force 1 http://www.nikeairmax270.de/ Nike Air Max 270 http://www.kobebryant-jersey.us/ Kobe Bryant Jersey http://www.kobebryantjerseysforsale.us/ Kobe Bryant Jerseys For Sale http://www.kobebryantjersey24.us/ Kobe Bryant Jersey 24 http://www.kobebryantwebsiteofficial.us/ Kobe Bryant Website Official http://www.pandorasoldes2020.fr/ Pandora Bijoux http://www.yeezy-shoe.us.com/ Yeezy http://www.yeezymafia.us.com/ Yeezy http://www.nikes.us.com/ Nike Shoes http://www.nikeshoes.us.org/ Nike Shoes http://www.nfl-jerseys.us.org/ NFL Jerseys http://www.yeezyboost350.us.com/ Yeezy Boost 350 http://www.yeezy350.us.com/ Yeezy http://www.yeezy-shoes.in.net/ Yeezy Shoes http://www.yeezys.me.uk/ Yeezy http://www.yeezy-350.org.uk/ Yeezy http://www.yeezy350.org.uk/ Yeezy 350 http://www.yeezys.us.com/ Yeezy http://www.yeezy.com.co/ Yeezy Shoes http://www.adidasyeezy.us.com/ Adidas Yeezy http://www.yeezy700.org.uk/ Yeezy 700 http://www.nikeoutletstoreonlineshopping.us/ Nike Outlet http://www.yeezy-shoes.in.net/ Yeezy Shoes http://www.adidasyeezys.de/ Adidas Yeezy http://www.yeezy380.us/ Yeezy 380 http://www.yeezy380.us.com/ Yeezy 380 http://www.nikefactory.us.com/ Nike Outlet http://www.humanraces.us.com/ Human Races http://www.humanracesshoes.us/ Human Race Shoes http://www.uggs-officialsite.org/ Uggs Official Site http://www.basketball-jerseys.us.com/ Basketball Jerseys http://www.jerseysbasketball.us/ Basketball Jerseys http://www.jerseys-nba.us/ Cheap NBA Jerseys http://www.nikes-shoes.us.com/ Nike Outlet http://www.yeezyadidas.fr/ Adidas Yeezy http://www.yeezy-shoe.us.com/ Yeezy Shoes http://www.yeezymafia.us.com/ Yeezy Mafia http://www.yeezy350v2.us/ Yeezy 350 V2 http://www.yeezysofficialsite.us/ Yeezys Official Site http://www.yeezyslides.us/ Yeezy sliders ウレ
Wednesday, July 15, 2020 · reply ·
Bradenton
Good post. I learn something new and challenging on blogs I stumbleupon every day. It will always be exciting to read through articles from other writers and use something from their web sites. https://www.dreamclosetsllc.com/custom-closets-sarasota.html
Wednesday, September 2, 2020 · reply ·
Sarasota
I blog quite often and I genuinely appreciate your information. The article has really peaked my interest. I will take a note of your site and keep checking for new details about once a week. I opted in for your RSS feed too. https://loveandstylephotography.com/anna-maria-island-family-photographer/
Wednesday, September 2, 2020 · reply ·
Ben
Checking out the birthday of celebrity on https://www.celeb-networth.com/ to know if they have the same birthday as you, or same age, or to know which celebrity have birthday today.
Thursday, September 17, 2020 · reply ·

about.me.

Torsten WeggenMy name is Torsten Weggen and I am CEO of indisoftware GmbH in Hanover, Germany. I'm into DNN since 2008. Before this, I did a lot of desktop stuff mainly coded with Visual Foxpro (see http://www.auktionsbuddy.de). 

I'm programmer, husband, father + born in 1965.

Please feel free to contact me if you have questions.

Latest Posts

DNN module development with Angular 2+ (Part 7)
6/10/2018 1:43 PM | Torsten Weggen
DNN module development with AngularJS (Part 6)
12/16/2016 7:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 5)
12/16/2016 6:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 4)
12/16/2016 5:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 3)
12/16/2016 4:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 2)
12/16/2016 3:00 AM | Torsten Weggen
DNN module development with AngularJS (Part 1)
12/15/2016 7:19 AM | Torsten Weggen
Blogging in DNN with Markdown Monster by Rick Strahl
11/27/2016 1:14 PM | Torsten Weggen
Creating a global token engine
11/18/2016 10:25 AM | Torsten Weggen
DnnImagehandler - Hot or not ?
2/21/2015 11:52 PM | Torsten Weggen

My Twitter

Keine News gefunden!