request参数集合绑定实体实现defaultmodebinder

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Reflection;
namespace RequestParameter1.Controllers
{

    public class Search {

        public string id { get; set; }
        public string name { get; set; }
    }
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            Type Mytype = typeof(Search);
          
            string[] arr = Request.QueryString.AllKeys;
            Search sear=new Search();
            foreach(string key in arr)
            {
              Response.Write(string.Format("{0}={1}</br>",key,Request[key]));
              PropertyInfo myproperinfo = Mytype.GetProperty(key);
              if (myproperinfo != null)
              {
                  myproperinfo.SetValue(sear, Request[key]);
              }
            }

            return Json(sear,JsonRequestBehavior.AllowGet);
            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
复制代码

 

posted @   甜菜波波  阅读(172)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示