We need to present the same site, with a different theme (and different data) depending on the "route" into the site.

* www.example.com/Trade
* www.example.com/Public

**NB: These are not dynamic themes which the user can pick. Certain customers will be coming via a third party link which will always point them to one of the urls.**

The value trade/public also needs to be used in queries from the UI to the database (to pull back varying data depending on the route into the site).

**So what are my options?**

Create custom view engine which uses the querystring (mvc route param) value to load the relevant master page.

In each controller action, grab the parameter (trade/public etc) and pass it off to the database queries.

```
public ActionResult List(string siteType){
    products.ListFor(siteType);
}

```

The problem here is having to alter every controller action to pass the querystring value through.

This also presents an issue with any route defined in global.asax having to accept the parameter.

I'm wondering if there's another way, perhaps some combination of a custom controller base and host name e.g. trade.example.com, public.example.com?