48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
|
namespace System.Web.ModelBinding {
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Globalization;
|
|||
|
using System.Web;
|
|||
|
|
|||
|
[AttributeUsage(AttributeTargets.Parameter, Inherited = false, AllowMultiple = false)]
|
|||
|
public sealed class CookieAttribute : ValueProviderSourceAttribute, IUnvalidatedValueProviderSource {
|
|||
|
|
|||
|
private bool _validateInput = true;
|
|||
|
|
|||
|
public string Name {
|
|||
|
get;
|
|||
|
private set;
|
|||
|
}
|
|||
|
|
|||
|
public CookieAttribute()
|
|||
|
: this(null) {
|
|||
|
}
|
|||
|
|
|||
|
public CookieAttribute(string name) {
|
|||
|
Name = name;
|
|||
|
}
|
|||
|
|
|||
|
public override IValueProvider GetValueProvider(ModelBindingExecutionContext modelBindingExecutionContext) {
|
|||
|
|
|||
|
if (modelBindingExecutionContext == null) {
|
|||
|
throw new ArgumentNullException("modelBindingExecutionContext");
|
|||
|
}
|
|||
|
|
|||
|
return new CookieValueProvider(modelBindingExecutionContext);
|
|||
|
}
|
|||
|
|
|||
|
public override string GetModelName() {
|
|||
|
return Name;
|
|||
|
}
|
|||
|
|
|||
|
public bool ValidateInput {
|
|||
|
get {
|
|||
|
return _validateInput;
|
|||
|
}
|
|||
|
set {
|
|||
|
_validateInput = value;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|