//将QueryString参数转换为Model
public static T GetQueryStringModel<T>(HttpRequestBase HttpRequestBase)
{
Type type = typeof(T);
T Tmodel = (T)type.Assembly.CreateInstance(type.FullName);
PropertyInfo[] propertys = Tmodel.GetType().GetProperties();
foreach (PropertyInfo property in propertys)
{
if (HttpRequestBase.QueryString[property.Name] == null) { }
else property.SetValue(Tmodel, HttpRequestBase.QueryString[property.Name].ToString(), null);
}
return Tmodel;
}
//将URL参数转换为Model
public static T GetFormKeyModel<T>(HttpRequestBase HttpRequestBase)
{
Type type = typeof(T);
T Tmodel = (T)type.Assembly.CreateInstance(type.FullName);
PropertyInfo[] propertys = Tmodel.GetType().GetProperties();
foreach (PropertyInfo property in propertys)
{
if (HttpRequestBase.Form[property.Name] == null) { }
else property.SetValue(Tmodel, HttpRequestBase.Form[property.Name].ToString(), null);
}
return Tmodel;
}
//参数处理为URL形式
public static string ModelToUriParam<T>(T obj, string url = "")
{
PropertyInfo[] propertis = obj.GetType().GetProperties();
StringBuilder sb = new StringBuilder();
sb.Append(url);
foreach (var p in propertis)
{
var v = p.GetValue(obj, null);
if (v == null) continue;
sb.Append(p.Name);
sb.Append("=");
sb.Append(v.ToString());
sb.Append("&");
}
sb.Remove(sb.Length - 1, 1);
return sb.ToString();
}