首页 新闻 会员 周边 捐助

Asp.Net Mvc,控制器下的行为接收对象的问题

0
悬赏园豆:30 [已解决问题] 解决于 2016-08-29 13:30

比如:

现在有一个person对象:有Name Age Sex等属性

 

视图页:

<input type="text" name="Name"/>

<input type="text" name="Age"/>

<input type="text" name="Sex"/>

控制器:

第一种写法

public ActionResult Add()

{

  string Name=Request["Name"];

  string Sex=Request["Sex"];

.....

}

第二种写法 

public ActionResult Add(Person person)

{

..........

}

 ------------------------------------------------------------------------

问题:

接收对象到底用自动装配比较好,还是自己用request接收?

个人用的一直是自动装配,方便 提高了开发效率

但是今天在码云看了很多人的代码 都还是webform下request接收的方式?

是不是自动装配有什么缺点呢?

KotobukiTsumugi的主页 KotobukiTsumugi | 初学一级 | 园豆:23
提问于:2016-08-29 09:34
< >
分享
最佳答案
0

当然是使用第二种方法了,不然就体现不出mvc的精华了

收获园豆:30
刘宏玺 | 专家六级 |园豆:14020 | 2016-08-29 10:00

第二种方法我看码云 github里用的人很少,基本都是再用webform的request接收参数

而且原理也是反射,会不会对性能造成影响 所以用的人少?

KotobukiTsumugi | 园豆:23 (初学一级) | 2016-08-29 10:03

@扶着往事走: 这才那点工作量啊,都谈不到性能

刘宏玺 | 园豆:14020 (专家六级) | 2016-08-29 10:06

@刘宏玺: 那为什么那些人不用自动装配?有什么好处 还是什么?

KotobukiTsumugi | 园豆:23 (初学一级) | 2016-08-29 10:07

@扶着往事走: 好处就是不需要写viewmodel,坏处就是要写更多重复代码

刘宏玺 | 园豆:14020 (专家六级) | 2016-08-29 10:09

@刘宏玺: 你好,我用自动装配也没写viewmodel,都是自己对参数写判断了。是不是些viewmodel好一点?

KotobukiTsumugi | 园豆:23 (初学一级) | 2016-08-29 10:11

@扶着往事走: 都一样,看需求,只要省事,咋写都行,反正别总写重复代码就好

刘宏玺 | 园豆:14020 (专家六级) | 2016-08-29 10:12
其他回答(2)
0

封装吧,封装的话,你的Viewmodel可以做一些简单的校验。。。例如:

name是必须的,可以在name属性上加[required]

顾晓北 | 园豆:10898 (专家六级) | 2016-08-29 09:56
0

用实体接受参数.这是常识.1个2个参数直接取还好.你试试几十个参数他还会不会自己取.

你需要学习下model绑定.然后想想如果不用model绑定和验证功能.自己写代码实现得写多少.

吴瑞祥 | 园豆:29449 (高人七级) | 2016-08-29 10:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册