获取客户端发来的数据方法:
protected virtual string GetRequestFromData()
{
HttpContextBase context = Request.Properties["MS_HttpContext"] as HttpContextBase;
if (context == null) return string.Empty;
StreamReader reader = new StreamReader(context.Request.InputStream);
string data = reader.ReadToEnd();
return data;
}
解析数据我这里获取的到数据是json格式的:
string json = GetRequestFromData();
T model=JsonConvert.DeserializeObject<T>(json);
自定义验证Model
引用:
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
protected bool ValidateModelState<T>(T model)
{
ValidationContext validationContext = new ValidationContext(model);
ICollection<ValidationResult> errors = new List<ValidationResult>();
bool result = Validator.TryValidateObject(model, validationContext, errors, true);
foreach (ValidationResult error in errors)
{
foreach (string memberName in error.MemberNames)
{
ModelState.AddModelError(memberName, error.ErrorMessage);
}
}
return result;
}