linux-packaging-mono/mcs/class/System.Web.Mvc3/Mvc/ChildActionValueProvider.cs
Jo Shields a575963da9 Imported Upstream version 3.6.0
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
2014-08-13 10:39:27 +01:00

36 lines
1.1 KiB
C#

namespace System.Web.Mvc {
using System;
using System.Globalization;
public sealed class ChildActionValueProvider : DictionaryValueProvider<object> {
public ChildActionValueProvider(ControllerContext controllerContext)
: base(controllerContext.RouteData.Values, CultureInfo.InvariantCulture) {
}
private static string _childActionValuesKey = Guid.NewGuid().ToString();
internal static string ChildActionValuesKey {
get {
return _childActionValuesKey;
}
}
public override ValueProviderResult GetValue(string key) {
if (key == null) {
throw new ArgumentNullException("key");
}
ValueProviderResult explicitValues = base.GetValue(ChildActionValuesKey);
if (explicitValues != null) {
DictionaryValueProvider<object> rawExplicitValues = explicitValues.RawValue as DictionaryValueProvider<object>;
if (rawExplicitValues != null) {
return rawExplicitValues.GetValue(key);
}
}
return null;
}
}
}