让asp.net mvc的Action支持jQuery直接提交的javascript对象(6)

来源:未知 责任编辑:责任编辑 发表时间:2014-05-26 11:00 点击:

            return array;
        }
        return null;
    }
}
 
public class ObjectValueProviderResult
    : ValueProviderResult
{
    private IDictionary<string, ValueProviderResult> _Properties;
 
    public ObjectValueProviderResult(IDictionary<string, ValueProviderResult> properties)
    {
        _Properties = properties;
        base.RawValue = properties.ToDictionary(v => v.Key, v => v.Value.RawValue);
        base.AttemptedValue = "{" + string.Join(", ", properties.Select(v => string.Format("{0}: {1}", v.Key, v.Value.AttemptedValue ))) + "}";
    }
 
    public override object ConvertTo(Type type, CultureInfo culture)
    {
        if (!type.IsPrimitive && !type.IsArray)
        {
            var constructor = type.GetConstructors(BindingFlags.Public | BindingFlags.Instance).OrderBy(v => v.GetParameters().Length).FirstOrDefault();
            if (constructor != null)
            {
                var args = constructor.GetParameters()
                    .Where(v => !v.IsOptional)
                    .Join(_Properties.DefaultIfEmpty(), v => v.Name, v => v.Key, (l, r) => r.Value).ToArray();
                var obj = Activator.CreateInstance(type, args);
                foreach( var property in type.GetProperties( BindingFlags.Public | BindingFlags.Instance | BindingFlags.SetProperty ))
                {
                    if (property.GetIndexParameters().Length > 0) continue;
                    ValueProviderResult propertyValue;
                    if (_Properties.TryGetValue(property.Name, out propertyValue) && propertyValue != null )
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 浅析.NET下XML数据访问新机制
  • asp.net 面试+笔试题目第1/2页
  • C# 邮件地址是否合法的验证
  • C#高级编程:数据库连接[1]
  • asp.net 设置GridView的选中行的实现代码
  • 经典C++程序1
  • IIS 自动回收导致后台定时器失效的问题解决
  • ASP.NET&#160;GridView列表代码示例
  • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1