EnvironmentView

in namespace DotVVM.Framework.Controls

Renders different content when the application is running in a specified environment and when it's not.

Usage & Scenarios

Allows to render content when an application is running on a specific environment (eg. Development, Production). We use an IEnvironmentNameProvider service to get the name of the current environment. The default implementation behaves differently on OWIN and on ASP.NET Core.

  • On ASP.NET Core: We simply use the IHostingEnvironment.EnvironmentName property to get the name.
  • On OWIN: We use a value stored in the environment dictionary under the host.AppMode key. If you host your application on System.Web the value is automatically set to Development when debugging is enabled in Web.config.

In both cases the default environment name is Production. You may override this behavior by implementing your own IEnvironmentNameProvider.

Sample 1: EnvironmentView

The Environments property contains a comma-separated list of environment names.

The IsEnvironmentTemplate defines the content rendered when the application is running on one of the specified Environments.

The IsNotEnvironmentTemplate defines the content rendered on other environments.

<dot:EnvironmentView Environments="Production,Development">
    Production or Development environment.
</dot:EnvironmentView>

<dot:EnvironmentView Environments="Staging">
    <IsEnvironmentTemplate>
        Staging environment.
    </IsEnvironmentTemplate>
    <IsNotEnvironmentTemplate>
        Other environment.
    </IsNotEnvironmentTemplate>
</dot:EnvironmentView>

Properties

Name Type Description Notes Default Value
property icon Attributes Dictionary<String,Object>
attribute
inner element
static value
bindable
default
null
property icon ClientIDMode ClientIDMode Gets or sets the client ID generation algorithm.
attribute
inner element
static value
bindable
default
Static
property icon DataContext Object Gets or sets a data context for the control and its children. All value and command bindings are evaluated in context of this value.
attribute
inner element
static value
bindable
default
null
property icon Environments String[] Gets or sets a comma-separated list of hosting environments (eg. Development, Production).
attribute
inner element
static value
bindable
default
null
property icon ID String Gets or sets the unique control ID.
attribute
inner element
static value
bindable
default
null
property icon InnerText String Gets or sets the inner text of the HTML element.
attribute
inner element
static value
bindable
default
null
property icon IsEnvironmentTemplate ITemplate Gets or sets the content rendered when the application is running in one of the specified environments.
attribute
inner element
static value
bindable
default
null
property icon IsNotEnvironmentTemplate ITemplate Gets or sets the content rendered when the application is not running in any of the specified environments.
attribute
inner element
static value
bindable
default
null
property icon RenderWrapperTag Boolean Gets or sets whether the control should render a wrapper element.
attribute
inner element
static value
bindable
default
False
property icon Visible Boolean Gets or sets whether the control is visible.
attribute
inner element
static value
bindable
default
True
property icon WrapperTagName String Gets or sets the name of the tag that wraps the Repeater.
attribute
inner element
static value
bindable
default
div

HTML produced by the control

The control renders the contents of the IsEnvironmentTemplate or IsNotEnvironmentTemplate property. Optionally you can enable wrapper tag rendering using the RenderWrapperTag property. The tag name can be changed using the WrapperTagName property.

<div>
    <!-- Contents of the IsEnvironmentTemplate or IsNotEnvironmentTemplate -->
</div>