eWorld.UI - Matt Hawley

Ramblings of Matt

Using Razor Pages with WebForms Master Pages

January 7, 2011 14:56 by matthaw

There's been some recent chatter about mixing ASP.NET MVC with WebForms, which is something I'm all too familiar with. This setup works just fine, but what if you wanted to use the new Razor view engine within ASP.NET MVC? A bit of backstory.

 

On a secondary project that I work on within Microsoft, we were given the ability to rewrite the entire UI of the application in ASP.NET MVC. At that time, the first beta of MVC3 was rolling out and we decided to take our first plunge and use the Razor view engine. Unfortunately, the common UI layout that is shared across multiple properties that we had to use was WebForms based. Our attempts to convince the developers of the common UI components to support more of a modularized infrastructure failed for any foreseeable future, so we were left with the conundrum of figuring out an intermediary solution.

 

After discussions with the ASP.NET team to see if using a Razor view where it's layout was a WebForms master page was or could be a supported scenario - the general consensus being "No". The primary reason is that WebForms and Razor pages have a completely different architecture and runtime execution model (renders from a control tree vs. mostly-single pass template, respectively). However, what ASP.NET MVC does allow is context switching between view engines based on partials that are rendered. With that in mind, I decided to see if a partial based implementation could be achieved.

 

The solution is fairly simple, and provides an easy upgrade path if and when you could ditch the WebForms master page. We'll start by creating a few extensions to the controller for rendering Razor based views. The reason we're doing this, is so that a WebForms based view can be rendered, while you think you're rendering a Razor based view.

 

   1:  public static ViewResult RazorView(this Controller controller)
   2:  {
   3:      return RazorView(controller, null, null);
   4:  }
   5:   
   6:  public static ViewResult RazorView(this Controller controller, object model)
   7:  {
   8:      return RazorView(controller, null, model);
   9:  }
  10:   
  11:  public static ViewResult RazorView(this Controller controller, string viewName)
  12:  {
  13:      return RazorView(controller, viewName, null);
  14:  }
  15:   
  16:  public static ViewResult RazorView(this Controller controller, string viewName, object model)
  17:  {
  18:      if (model != null)
  19:          controller.ViewData.Model = model;
  20:   
  21:      controller.ViewBag._ViewName = GetViewName(controller, viewName);
  22:   
  23:      return new ViewResult
  24:      {
  25:          ViewName = "RazorView",
  26:          ViewData = controller.ViewData,
  27:          TempData = controller.TempData
  28:      };
  29:  }
  30:   
  31:  static string GetViewName(Controller controller, string viewName)
  32:  {
  33:      return !string.IsNullOrEmpty(viewName)
  34:          ? viewName
  35:          : controller.RouteData.GetRequiredString("action");
  36:  }

 

The thing to note from above, is that we're actually rendering a view called "RazorView" specifying the actual view to be rendered on ViewBag._ViewName. This value will later be used to render the appropriate RazorView.

Side note: This is a naive implementation of GetViewName assuming that if you do not specify the view name, you're rendering a view with the same action name from the route data. This may not be correct in all places, but seems to work reasonably well.

You'll also need to create a "RazorView" WebForms view in the Shared directory which inherits from your master page. This view will ultimately render the Razor view as a partial defined by your action result. I've also created a Razor layout page that all Razor views will use to alleviate the issue of having to touch each view if and when a conversion to only the Razor view engine takes place. You'll find each of the view files below.

 

Shared/Site.Master:

   1:  <%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
   2:  <!DOCTYPE html>
   3:  <html>
   4:  <head runat="server">
   5:      <title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
   6:  </head>
   7:  <body>
   8:      <div>
   9:          <asp:ContentPlaceHolder ID="MainContent" runat="server" />
  10:      </div>
  11:  </body>
  12:  </html>

Shared/_SiteLayout.cshtml:

   1:  @RenderBody()

Shared/RazorView.aspx:

   1:  <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
   2:      Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
   3:   
   4:  <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
   5:      <% Html.RenderPartial((string) ViewBag._ViewName); %>
   6:  </asp:Content>

Home/Index.cshtml:

   1:  @{
   2:      Layout = "~/Views/Shared/_SiteLayout.cshtml";
   3:  }
   4:   
   5:  <h2>This is the index page</h2>

 

What you'll notice, is that it's not possible to utilize Razor content sections to render different parts from the WebForms master page. However, you are able to use Razor content sections from the Razor layout file since you're in that model. If you do have to render multiple WebForm content sections, you may need to make things a bit more elaborate by specifying specific content areas manually. Ultimately, I wouldn't recommend that, and just try to limit your output to a main content panel.

 

Within your controller, your action result is simply:

   1:  public ActionResult Index()
   2:  {
   3:      return this.RazorView();
   4:  }

 

While this solution isn't optimal, it does allow you to utilize Razor views while still adhering to a common WebForms master page. If possible, I recommend not doing this, but sometimes (like in our solution) you have to do what is necessary. If your master pages are simple enough (and primarily just layout), I fully recommend having a WebForms master page and a Razor layout page. Regardless, the way this has been setup, migration to a Razor only architecture is fairly trivial - just simply change all this.RazorView() calls to View() calls and copy over your layout to _SiteLayout.cshtml.

 

Click here to download the source for this solution.



Comments

January 7. 2011 15:41

Pingback from topsy.com

Twitter Trackbacks for
        
        Using Razor Pages with WebForms Master Pages
        [eworldui.net]
        on Topsy.com

topsy.com

January 12. 2011 05:30

Hi,
I am planning to implement MVC in http://www.HRStop.com . I am sure this would be helpful.

Shekhar

January 14. 2011 11:29

Exactly what I was looking for. Thanks for the tips.

Criação de Sites

January 18. 2011 01:06

        
thank you

mcp certification

January 25. 2011 16:47

Mixing Razor Views and WebForms Master Pages with ASP.NET MVC 3

Scott Hanselman

January 26. 2011 15:53

It works like a charm. My only problem is the page title. My solution is:

In the Controller:
ViewBag._Title = "Admin";

In the RazorView.aspx:
<%
    if (ViewBag._Title != null)
        Page.Title = ViewBag._Title;
%>

Anybody got a better solutions, please share Laughing

Anders Nygaard

January 30. 2011 09:29

good post. thanks for sharing it

vector

January 30. 2011 20:38

Pingback from pozitive.net

Mixing Razor Views and WebForms Master Pages with ASP.NET MVC 3 | Pozitive.NeT

pozitive.net

February 10. 2011 06:29

Generally I do not post on blogs, but I would like to say that this post really forced me to do so, Excellent post!!!

Fantech BFRK 100

February 10. 2011 06:30

I have been through the whole content of this blog which is very informative and knowledgeable stuff,  I would like to visit again.

Bali Villa

February 10. 2011 06:32

Nice article, I am a big time fan of your site, keep up the nice work, and I will be a frequent visitor for a very long time.

Forklifts for Sale

February 11. 2011 01:10

I have been reading your posts regularly. I need to say that you are doing a fantastic job. Please keep up the great work.

Apprenticeships

February 11. 2011 09:15

No one can degrade us except ourselves; that if we are worthy, no influence can defeat us. Do you think so?

Jordan Sale

February 11. 2011 09:15

No one can degrade us except ourselves; that if we are worthy, no influence can defeat us. Do you think so?

Jordan

February 15. 2011 05:42

Easily, the post is actually the freshest subject on how to choose a sleeping bags. I concur with your conclusions and will eagerly appear forward to your incoming updates. Saying thanks will not just be enough, for the wonderful lucidity in your writing. I will instantly grab your rss feed to stay informed of any updates.

animal health

February 16. 2011 04:00

Hello there I reach your site by mistake when i was browsing Google for this wii concern, I have to say your internet site is really helpful I also love the design, its amazing!. I dont have that much time to go through all your post at the moment but I've bookmarked your site and also add your RSS feeds. I will likely be back in a day or two. thanks for a awesome web page.

germanium suppliers

February 16. 2011 05:31

Awesome blog. I enjoyed reading your articles. This is truly a great read for me. I have bookmarked it and I am looking forward to reading new articles. Keep up the good work!

Chicago Dentist

February 16. 2011 05:57

I wanted to thank you for this great read!! I definitely enjoyed every little bit of it, I have you bookmarked to check out all the new stuff you post..

Honda Civic Ft Lauderdale

February 16. 2011 08:41

I happen to enter your blog with the help of Google search. To my sheer luck I got what I was searching for. Thanks

شقق جدة المفروشة

February 16. 2011 08:43

This is my first post. I really like this blog. I'm reading this post from my I-Phone and it looks great!

Golf Packages Las Vegas

February 16. 2011 08:43

I like your blog post. Keep on writing this type of great stuff. I'll make sure to follow up on your blog in the future.

Bars Los Angeles

February 16. 2011 08:44

Usually I do not post comments on blogs, but I would like to say that this blog really forced me to do so! Thanks,for a  really nice read.

Las Vegas Golf

February 16. 2011 08:44

So far, I managed to go though only some of the posts you have here, but I find them very interesting and informative. Just want say thank you for the information you have shared.

Street Sign

February 17. 2011 06:17

It’s really a great post..I would like to appreciate your work and I am going to recommend it to my friends.Thanks for sharing.

Lawn Care Services

February 17. 2011 07:09

Hi, for any assignment help, Homework help and Online Tutoring in Programming Languages that you need, you can visit our website at http://www.helpwithassignment.com . we provide the above services and much more at a very minimal price.

Albert Frank

February 17. 2011 07:13

I also wish him good luck to defend his gold medal. I definitely enjoyed every little bit of it I have you bookmarked to check out new stuff you post.

Fantech DBF4XLT

February 17. 2011 09:06

Some interesting and well researched information on cameras.  I'll put a link to this site on my blog. Thank you!

Bali Villas

February 17. 2011 20:25

Jquery with mvc3

Jquery with mvc3

Crasch

February 18. 2011 05:14

Don't part with your illusions . When they are gone you may still exist , but you have ceased to live.

Coach Sneakers

February 19. 2011 18:06

Hi Matt,
it takes sometime to figure out that you were using extension methods... First time I didn't realize it and I was wondering what was the magic in this solution! It works like a charm!!!

For some actions I need to send and receive json data, so I have to specify the 'normal' view. Do you think that is the right way to go or is better to differentiate on aspx page? (in the view I got  @Layout = null;

Great post!

Crach

February 21. 2011 04:48

The code is quite helpful.

Residential property management

February 21. 2011 07:28

This is a really good read for me, Must admit that you are one of the best bloggers I have read. Thanks for posting this informative article.

Silver Eagle Coins

February 21. 2011 08:00

I completely agree with the above comment, the internet is without a doubt growing into the most important medium of communication across the globe and its due to sites like this that ideas are spreading so quickly.

B School in Pune

February 21. 2011 08:04

Good post....thanks for sharing.. very useful for me i will bookmark this for my future needed. thanks for a great source.

Apartments Barcelona

February 21. 2011 17:40

I wanted to thank you for this great read!! I definitely enjoyed every little bit of it. I have you bookmarked to check out new stuff on your  post

Seo Company India

February 21. 2011 23:34

Good post. I like it very much. thank you! <a href="http://www.airjordan4u.com/"> Retro Jordans</a>.

Retro Jordans

February 22. 2011 08:20

Fine information, thanks to the author. This work is really useful and significant.    

San Diego Mobile Homes

February 22. 2011 21:19

One thorn of experience is worth a whole wilderness of warning.

Running Shoes

February 22. 2011 21:28

Thank you for taking this chance to talk about this, I genuinely really feel strongly about it and I benefit from learning about this topic. If feasible, as you gain information, please update this weblog with new facts. I have discovered it rather beneficial! I admiring time and effort you put inside your weblog, essentially mainly mainly because it's obviously a single amazing place where I can uncover superb deal of helpful info. Bookmarked and I will share it. Thank you a wonderful deal! In fact your creative writing abilities has inspired me to start my own BlogEngine blog now.

Supra Footwear

February 25. 2011 23:14

Write very well, thank you for sharing your life is classical.

Coach Patchwork Bags 2009

February 28. 2011 03:22

Using Razor Pages with WebForms Master Pages.

Alpha lipoic acid

February 28. 2011 04:21

This is really a nice idea as I have found somethings new here. I like the post very much. Great job!!!
<a href="http://www.customizegolf.com">Callaway X-24 Irons</a>

Callaway X-24 Irons

March 1. 2011 03:04

Great site. I like the way you explain everything without using complicated terms.

Bingo Numbers

March 2. 2011 01:53

Great share, thanks alot!

shell beads

March 2. 2011 01:53

of all time glad he was able to attain so much great art work for all those to see.

Indianapolis Colts jerseys

March 2. 2011 04:06

Your blog is a great one. What really impresses me is that you are correctly mentioned that there are thousands of tools that are available to create a website or launch one but what matters is that you choose the right one, the one that gives you all that is actually needed.

taylormade r9 irons

March 2. 2011 04:06

I like every post in this blog. Really a nice work has done. I appreciate the blog owner.

Discount purses

March 2. 2011 04:07

Thanks for sharing this useful information! Hope that you will continue with the kind of stuff you are doing.

Portable pa system

March 2. 2011 04:08

Valuable information and excellent design you got here! I would like to thank you for sharing your thoughts and time into the stuff you post!!

Graphic Tablet

March 2. 2011 04:08

Thanks for sharing these useful information! Hope that you will continue doing nice article like this.

Titleist AP2 Irons

March 2. 2011 04:08

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog.This is a nice blog.

Balenciaga bag

March 2. 2011 04:08

Thanks for all the information. I admire what you have done here. We will look forward for your future updates.

air max shoes

March 2. 2011 04:10

Your blog is a great one. What really impresses me is that you are correctly mentioned that there are thousands of tools that are available to create a website or launch one but what matters is that you choose the right one, the one that gives you all that is actually needed.

CL Shoes

March 2. 2011 04:10

Thanks for a brilliant effort in posting your article. One one can be more informative like this. Many things I can to know only after reading your wonderful article.

CL Shoes

March 2. 2011 04:12

Nicely done, sir. I hadn't expected the Twit-encoding to use real words, even if together they amount to nonsense. A fun toy, in any event.

CL Shoes

March 2. 2011 04:14

Thanks for all the information. I admire what you have done here. We will look forward for your future updates.

lacoste shoes

March 2. 2011 04:15

I have just been searching for some information about Payday Loans and its criteria and accidentally I have noticed this entry.

monster beats by dr. dre

March 2. 2011 04:15

Valuable information and excellent design you got here! I would like to thank you for sharing your thoughts and time into the stuff you post!!

two way radio battery

March 3. 2011 02:32

Certainly trust exactly what a person explained. Ones description was absolutely the lowest amount of intricate to grasp.  That you were in a position to hit the nail for the go along with typed away all devoid of side effect.

Low Glycemic Index Foods

March 6. 2011 10:44

We are planning to migrate our web site to ASP.NET MVC Framework . Your blog is of great help. Thanks

Ajay

March 6. 2011 21:39

EDTA oral liquid is a substance comprised of multiple compounds called chelates which are used for treating various health issues.

Tetrasodium edta

March 7. 2011 23:33

EDTA's patent ran out years ago. So there is not enough money in EDTA Chelation Therapy therefore there is no research and since there is no money or research the medical community as a whole would rather it go away.

Disodium EDTA

March 9. 2011 01:48

I increased my knowledge after read your post which will be beneficial to my learning experience.

Nhl jerseys

March 9. 2011 01:48

Could you please extend them a bit from next time

basketball jerseys

March 9. 2011 02:44

Good articles should share to every person ,hope you can write more and more good articles.

thank you gifts

March 9. 2011 12:56

I do not post comments on blogs, but I would like to say that this blog really forced me to do so! Thanks,for a  really nice read.

Web Design

March 9. 2011 23:12

   Thanks for share this great site list which is very informational for me .I like it.

mother teresa quotes

March 9. 2011 23:31

My friend and I were arguing about an issue similar to this! Now I know that I was right. ho!  Thanks for the information you post.

mac dvd ripper

March 10. 2011 02:11

    Thanks for share this great site list which is very informational for me .I like it.

cheap true religion jeans

March 10. 2011 02:51

I wanted to thank you for this excellent read!! I definitely loved every little bit of it.Cheers for the info!!!! & This is the perfect blog for anyone who wants to know about this topic. You know so much its almost hard to argue with you .........
thanks

colour correction

March 10. 2011 08:19



Hi very thanks to the person who made this post, this was very informative for me.Great website...and cool article man...thanx for the great post...keep on posting such articles... Resources like the one you mentioned here will be very useful to me! I will post a link to this page on my blog. I am sure my visitors will find that very useful.

Link building services

March 11. 2011 13:44

I really appreciate your professional approach. These are pieces of very useful information that will be of great use for me in future.

website development

March 14. 2011 01:35

I wanted to thank you for this excellent read!! I definitely loved every little bit of it.Cheers for the info!!!! & This is the perfect blog for anyone who wants to know about this topic. You know so much its almost hard to argue with you .........
thanks

kissimmee property management

March 14. 2011 08:38

Well that's Nice to be visiting your blog again, Well this article that i've been waited for so long. I need this article to complete my assignment in the college, and it has same topic with your article. Thanks, great share.

essay writing service

March 14. 2011 08:40

Thanks for sharing. i really appreciate it that you shared with us such a informative post..

essay writing

March 15. 2011 02:04

This is my first post. I really like this blog. I’m reading this post from my I-Phone and it looks great!

Maruti Zen

March 15. 2011 05:00

I wanted to thank you for this excellent read!! I definitely loved every little bit of it.Cheers for the info!!!! & This is the perfect blog for anyone who wants to know about this topic. You know so much its almost hard to argue with you .........
thanks

ivf pregnancy Cancun

March 15. 2011 08:10

You certainly deserve a round of applause for your post and more specifically, your blog in general. Very high quality material.

Lexus IS

March 17. 2011 01:57

The code is so helpful. Thanks for sharing.

Residential Property management

March 17. 2011 06:54

The code that you have shared is so helpful.

Plumber Dunstable

March 18. 2011 01:35

This is a great article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up.

India Tours

March 18. 2011 03:30

Keep it up. Nice blog. Thanks for share this great site list which is very informational for me .I like it.

Essay writing service

March 18. 2011 08:27

Hi, I agree with every statement that you have made in the post and I really appreciate your effort in gathering up the information. Thanks for it.

Performance Appraisal Software

March 19. 2011 06:32

You are best i really like your post keep it up

mothers day flowers Australia

March 20. 2011 12:32

I appreciate your speculating as it arouses people’s concern today and lets this topic be discussable. We all know about it here.

medisoft billing software

March 21. 2011 03:24

many thanks for your post

instyler

March 22. 2011 02:53

every statement that you have made in the post and I really appreciate your effort in gathering up the information. Thanks for it

Arizona Cardinals jerseys

March 22. 2011 03:01

I definitely loved every little bit of it.Cheers for the info!!!! & This is the perfect blog for anyone who wants to know about this topic. You know so much its almost hard to argue with you .........

Handbags wholesale

March 22. 2011 03:03

have made in the post and I really appreciate your effort in gathering up the information. Thanks for it.

New York Jets jerseys

March 23. 2011 02:46

nice to meet you

nba jerseys

March 23. 2011 03:38

ESPN led the field with 36 nominations -- including 10 for its coverage of the FIFA World Cup during the summer

Vibram five fingers

March 23. 2011 03:55

ESPN led the field with 36 nomination

UGG Boots

March 23. 2011 03:58

I like you

moncler jackets

March 23. 2011 12:43

Hey this is a rather fascinating blog post, added a trackback to my site.

mobile kitchen

March 24. 2011 03:18

Hi, I must say that you have made some good points in the post. I performed searches on the topic and found most people will agree with your blog. Thanks for sharing this information.

pregnancy weekly   

March 24. 2011 07:57

While going through this post I felt that you have done a lot of research on the topic, I appreciate your efforts and glad that I found your blog. Keep posting such informative content.

Female Singer

March 24. 2011 09:59

It took time to read all the comments, but I really liked your article. It proved to be very helpful to me and I'm sure all the commentators here! It's always nice when you can not only inform but also entertain. San Francisco homes for sale

cigarettes

March 25. 2011 02:51

You're right. The added picture is not suitable, maybe it need to be changed. Thank you for the advice.

air max chaussures

March 25. 2011 10:09

It's magnificent what matters Google can bring us too..I would've never encountered your blog differently

herpes photos

March 25. 2011 19:00

Hi, I can�t understand how to add your site in my rss reader. Can you Help me, please

outdoor swing

March 25. 2011 19:03

Well, I just found your blog unexpectedly from the search engine. First time I saw it, I know it's a very informative blog. I got so many something new from here. Good work and thanks for that!

toko bayi

March 25. 2011 19:46

Thanks for great information I appreciate your work keep it up. thanks.

boats sale

March 25. 2011 20:46

I would like to say this is an excellent blog that I have ever come across. Very informative. Please write more so that we can get more details.

jual mobil

March 25. 2011 20:56

yea nice Work

perlengkapan bayi murah

March 25. 2011 22:55

What is captcha code?, pls provide me captcha code codes or plugin, Thanks in advance.

jual beli

March 26. 2011 14:16

This is a good posting, I was wondering if I could use this write-up on my website, I will link it back to your website though. If this is a problem please let me know and I will take it down right away

fracture foot

March 26. 2011 14:26

Some interesting information, well researched. I'll put a link to tjis site on my blog.Thank you!

duvet cover

March 26. 2011 16:50

Super-Duper site! I am loving it!! Will come back again - taking you feeds also, Thanks.

cooking recipes

March 26. 2011 17:27

Thanks for the announcement........

dinnerware sets

March 26. 2011 17:36

I'm going to cite this post in a thesis for my graduate studies. Please email me if that's okay and if you would like a copy of the document. Naturally I will give you the appropriate citations.Obviously I will cite your articleI believe you are a highly credible source on the subject.

hair coloring

March 27. 2011 20:33

I'm going to cite this post in a thesis for my graduate studies. Please email me if that's okay and if you would like a copy of the document. Naturally I will give you the appropriate citations.Obviously I will cite your articleI believe you are a highly credible source on the subject.

human fleas

March 28. 2011 02:30

The code that you have shared is very much helpful.

Plumber Milton keynes

March 28. 2011 04:13

it's quite easy to put together a this.RazorPartialView to further help transition to razor

Dashu

March 28. 2011 08:44

Hi, I agree with every statement that you have made in the post and I really appreciate your effort in gathering up the information. Thanks for it.

Tuscany Villa Rentali

March 28. 2011 22:27

This is actually really interesting regarding your fact article here, This article is very informative.

sewing machine guide

March 29. 2011 09:46

Wow! Thank you! I always wanted to write in my site something like that. Can I take part of your post to my blog?

blackberry murah

March 30. 2011 04:41

Greetings from Los angeles! I'm bored to tears at work so I decided to check out your website on my iphone during lunch break. I enjoy the knowledge you present here and can't wait to take a look when I get home. I'm amazed at how quick your blog loaded on my cell phone .. I'm not even using WIFI, just 3G .. Anyways, very good site!

avoid divorce

March 30. 2011 05:28

Thanks for sharing the information. I found the information very helpful. That's a awesome article you posted. I will come back to read some more.

gendongan sling

March 30. 2011 13:38

That�s Too nice, when it comes in india hope it can make a Rocking place for youngster.. hope that come true.

laser tattoo removal

March 30. 2011 15:35

I always wanted to write in my site something like that but I guess you'r faster Smile

free 3d interior design

March 30. 2011 15:59

Keep working ,great job!

list of toy dog breeds

March 30. 2011 22:05

You made some good points there. I did a search on the topic and found most people will agree with your blog.

kraft recipes

March 31. 2011 03:44

nice to meet you

cheap christian louboutin

March 31. 2011 04:25

Thanks for sharing such a wonderful information. This is a really good read for me, Must admit that you are one of the best bloggers I ever saw.Thanks for posting this informative article.

kado kelahiran bayi

April 1. 2011 01:01

What is captcha code?, pls provide me captcha code codes or plugin, Thanks in advance.

jual mainan online

April 1. 2011 03:06

Thank you for another great article. Where else could anyone get that kind of information in such a perfect way of writing?

air max chaussures

April 1. 2011 23:07

Looking forward for more such stuff. Loved your style of providing the information and the nature of the content.

bedding sets

April 2. 2011 04:44

This is just the information I am finding everywhere. Thanks for your blog, I just subscribe your blog. This is a nice blog.

fishing boat for sale

April 2. 2011 05:33

We had a peaceful protest. We went to the UNAMA gate. We<h1 style="font-size:12px;display:inline"><a href="http://www.newfivefingers.com">five finger shoes</a></h1> took three weapons from the people there; we took out the magazines from them, took all the bullets out and threw them away in order to prevent violence. … But these cowards – wild, internal enemies of our country – shot and killed or injured 10 or 12 of our own people. … I saw four people with my own eyes: two of them had died <h1 style="font-size:12px;display:inline"><a href="http://www.newfivefingers.com">vibram five finger climbing shoes</a></h1>and two others were injured.

nameman

April 2. 2011 15:09

Useful information shared..Iam very happy to read this article..thanks for giving us nice info.Fantastic walk-through. I appreciate this post

jual mainan little tikes

April 2. 2011 23:29

The winner will meet Butler (28-9) in Monday night's championship <a href="http://www.onsale-christianlouboutin.com/" title="Louboutin Sale">Louboutin Sale</a> game. The Bulldogs beat VCU 70-62 in the other semifinal<a href="http://www.onsale-christianlouboutin.com/" title="Louboutin Shoes">Louboutin Shoes</a>.

nameman

April 4. 2011 04:07

The said post here is very informative. I am impressed as to the ways in which the author delivered the message to us readers. I am curious as to the details and have read and got my answers to my query. It is nice to know that this one here really exist. I would love to track your future posts.

Viajes India

April 4. 2011 08:24

You made some good points there. I did a search on the topic and found most people will agree with your blog.

phone payg prepaid

April 4. 2011 10:43

Great post! It's very useful for me.

washing cloth

April 4. 2011 21:50

To start earning money with your blog, initially use Google Adsense but gradually as your traffic increases, keep adding more and more money making programs to your site.

non renewable resource examples

April 5. 2011 01:07

There is obviously a lot to know about this. I think you made some good points in Features also.

autism speaks

April 5. 2011 01:11

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post

muscle body weight

April 5. 2011 02:10

Wow! Thank you! I always wanted to write in my site something like that. Can I take part of your post to my blog?

channels radio

April 5. 2011 21:10

Cowards die many times before their <a href="www.nonsuchnike.com/.../">vibram five fingers shoes</a>.
<br />

men gucci shoes

April 6. 2011 04:56

This is my first post. I really like this blog. I’m reading this post from my I-Phone and it looks great!

Ford Figo

April 7. 2011 02:34

This is my first time i visit here. I found so many interesting stuff in your blog. especially its discussion  From the tons of comments on your articles  I guess I am not the only one having all the enjoyment here  Keep up the excellent work

Nano Premium

April 7. 2011 04:00

Thanks for the information.  Simply loved it.

Bmw 528i

April 7. 2011 05:25

I would like to share it with all my friends and hope they will like it too.

IT Recruitment

April 7. 2011 06:39

I wanted to thank you for this great read!! I definitely enjoying every little bit of it I have you bookmarked to check out new stuff you post

evening wedding decorations

April 7. 2011 13:28

appears to be like you experienced a terrific learning encounter, very awesome, whenever I find those faux leather straps, I have been wondering concerning how they attache,�aah-haa, currently I see it.

continuing nursing education cruises

April 7. 2011 20:05

Thankfully, Amoils has an all natural skin tag removal product that can get rid of your skin tags safely and with no pain.  And unlike other skin tag removal techniques, Amoils won't leave you with any scars.  Also, the skin tags won't return after the skin tag removal is finished.

ibuprofen side effects

April 7. 2011 22:14

Very interesting post I have seen here.Thanks for posting it.

custom dog tags

July 26. 2011 07:27

用ASP.NET MVC3混合Razor视图和WebForms母版页

[原文发表地址] Mixing Razor Views and WebForms Master Pages with ASP.NET MVC 3 [原文发表时间] Jan 25, 2011 ,12:17

Scott Hanselman的中文博客

September 11. 2011 19:15

Pingback from programmersgoodies.com

RazorEngine: Possible to use in Webforms application? - Programmers Goodies

programmersgoodies.com

October 18. 2011 21:09

Pingback from sstringa.com

Integrating MVC into a LargeScale ASP.NET WebForms Application | stringa's Developer Blog

sstringa.com

January 24. 2012 16:17

Pingback from facecolony.org

Passing Title to WebForms Master Page from Razor Pages | FaceColony.org - Developers Network

facecolony.org

February 15. 2012 21:43

ASP.NET MVC 3, Razor-C#, and VB.NET WebForms - A Tale of Black Magic Voodoo

ASP.NET MVC 3, Razor-C#, and VB.NET WebForms - A Tale of Black Magic Voodoo

try-catch-FAIL

March 14. 2012 20:15

Pingback from stringa.co

Integrating MVC into a LargeScale ASP.NET WebForms Application | stringa's Developer Blog

stringa.co

May 6. 2012 00:13

Pingback from entertainmenttonight.theportlandwebsitedesigncompany.com

Startups.com Is Shutting Down, Domain Name Not For Sale (For Now) | Entertainment Tonight

entertainmenttonight.theportlandwebsitedesigncompany.com

May 28. 2012 20:35

Pingback from celebritywebsites.agendaroannais.com

100 in 100 College Football Previews: No. 96 Temple Owls | Celebrity Websites

celebritywebsites.agendaroannais.com

May 28. 2012 22:06

Pingback from shortfunnypoems.wavecompass.net

Sales Pro: Business Development Manager (outsourcing/Offshoring) | Short Funny Poems

shortfunnypoems.wavecompass.net

September 12. 2012 20:37

Pingback from muputirymeg.wordpress.com

Ex-Penney executive to join Gap as marketing adviser « muputirymeg

muputirymeg.wordpress.com

Comments are closed

Copyright © 2000 - 2013 , Excentrics World