C# 有没有什么快速的方法可以将所有的Request.Form值转储到一个更小的、更快键入的对象引用中?

C# 有没有什么快速的方法可以将所有的Request.Form值转储到一个更小的、更快键入的对象引用中?,c#,asp.net,C#,Asp.net,总是写请求真是太笨拙了。。。有没有什么方法可以把它们全部解析成更小的东西,比如说什么?没有,这并不笨拙,这很合适,因为你不知道它们是否会在那里,所以不能静态地完成。你可以使用Request[“blah”] 这将从表单、查询字符串和cookies中提取。您可以始终使用局部变量,但仍然使用索引器: NameValueCollection form = Request.Form; string x = form["something"]; string y = form["other"]; // et

总是写请求真是太笨拙了。。。有没有什么方法可以把它们全部解析成更小的东西,比如说什么?

没有,这并不笨拙,这很合适,因为你不知道它们是否会在那里,所以不能静态地完成。

你可以使用Request[“blah”]


这将从表单、查询字符串和cookies中提取。

您可以始终使用局部变量,但仍然使用索引器:

NameValueCollection form = Request.Form;
string x = form["something"];
string y = form["other"];
// etc

就我个人而言,我不想麻烦-我不认为这真的增加了代码的可读性,但这是你的要求…

你可以使用
动态
将其包装在.NET 4.0中(注意,你仍然需要编写提供动态行为的代码,这不是小事)-不过我不确定是否会麻烦。请注意,ASP.NET MVC使用了一些很好的代码来自动将请求输入(路由(=路径)、表单、查询字符串等)映射到方法参数和对象属性中。如果你重视这种自动化,试试ASP.NETMVC-p

天哪,为什么没有人提到模型绑定,Marc避开了MVC.NET,但这正是我想要的


几天后,在询问如何从查看页面取回对象而不仅仅是请求之后,终于找到了…

应该有一些东西可以像new Blah()=request.Form。。。然后它将使用诸如Blah.formval1、Blah.formval2等参数创建自己。。。正确的??与JSON styleYes一样,事物“应该”的方式也有无数种。也许C#不适合你。。。其他更具动态性的语言可能更接近您想要的(但实际上也没什么不同,只是您是否编写了“”)。