private ViewState EnsureState(
string regionName, string viewName, string stateName, NavigationDescriptor descriptor)
{
ViewState viewState = null;
if (!string.IsNullOrEmpty(stateName))
{
if (descriptor.States == null ||
(viewState = descriptor.States.SingleOrDefault(x => x.Name == stateName)) == null)
{
throw new InvalidOperationException(
string.Format("{0}_{1}_{2} does not exist", regionName, viewName, stateName));
}
}
return viewState;
}