php .net mvc,总是觉得asp.net MVC 写着很别扭,对比PHP的mvc,asp.net 麻烦很多?

没写过php,但有ASP.NET MVC的开发经验,这里简单地说一下自己的理解。

首先通过一张图来看ASP.NET MVC的一个交互原理:

bVkOUs

Model层其实是一个很大的概念,包含了服务,业务逻辑,数据持久化等工作;Controller层则是一个起到一个连接Model层和View层的作用;View层就是界面,这点应该很清晰的。

通过你的问题描述,比较纠结的一点是Controller层和View层在做交互的时候,ASP.NET MVC采用的是定义实体类(ViewModel)的方式,这让你觉得ASP.NET MVC的开发方式很费劲。

其实这个问题是相对的,首先对于ASP.NET MVC来说,基本上每一个视图,都要定义一个ViewModel,这确实是一个让人觉得很无趣的地方,但反观它带来的好处:配合Visual Studio,可以在视图中使用智能提示(关于智能提示这里就不多展开了,用过都说好)!这样就可以避免php数组$data['xxx']中的魔幻字符串问题(例如应该写$data['teacher'],由于一不小心写错$data['teach'],带来了更多出错的可能,其实不觉得写这些字符串也是一件很无趣的事情吗?)。

假如你觉得还是数组的方式好,其实ASP.NET MVC中也是可以做到的,可以在Controller类中使用TempData,例如:

public ActionResult List()

{

TempData["hello"] = "world";

return View();

}

这样视图层也可以通过TempData[]获取数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值