Files
LeafWeb/WebCms/Utility/NameValueCollectionUtil.cs
T
poprhythm 0fd57812e7 Update zip archive functionality
add download buttons for multiple input/output
2020-07-10 21:06:23 -04:00

40 lines
1.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Web;
using System.Web.Routing;
namespace LeafWeb.WebCms.Utility
{
public static class NameValueCollectionUtil
{
public static NameValueCollection GetNameValueCollection(this object obj, string prefix = "")
{
var nvs = new NameValueCollection();
prefix =
string.IsNullOrEmpty(prefix)
? ""
: prefix + ".";
foreach (var pi in obj.GetType().GetProperties().Where(p => p.CanWrite))
{
var value = pi.GetValue(obj, null);
if (value == null)
continue;
nvs.Add(prefix + pi.Name, value.ToString());
}
return nvs;
}
public static RouteValueDictionary ToRouteValueDictionary(this NameValueCollection nvc)
{
var routeValues = new RouteValueDictionary();
foreach (var key in nvc.AllKeys)
routeValues.Add(key, nvc[key]);
return routeValues;
}
}
}