[MVC学习日记]2014/12/01 初步认识MVC模型。

2014/12/01
1、初步认识MVC模型。
MVC模式是一种表现模式。它将web应用程序分成三个部分,模型(Model)、视图(View)、控制器(Controller)。
Model:是实现业务逻辑层对实体类响应数据库操作。
View:是用户接口层组件,仅仅只是用来展示数据的。
Controller:处理用户交互,从model中获取数据并将数据传给指定的视图展示。

例子:访问home控制器下面的action,由对应home控制器的视图展示数据。
控制器:HomeController: Controller

public ActionResult Index()
{
  ViewData["Msg"] = "欢迎使用 ASP.NET MVC!"; return View(); //默认Home控制器视图Index界面展示数据。 }

视图:<%:ViewData["Msg"]%>

视图Shared文件夹,公用视图,可以存放母版页、用户控件、错误页面等。

控制器自动搜索视图约定:
1、查找控制器同名文件夹下的视图aspx。
2、查找控制器同名文件夹下的视图ascx。
3、查找Shared文件夹下的视图aspx。
4、查找Shared文件夹下的视图ascx。

return View("Index");  //指定Index视图展示数据。
return Content("输出内容。");  //打印
return RedirectToAction("Index"); //跳转执行action-Index()方法。

关于路由初步认识:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
  "Default", //路由名称 "{controller}/{action}/{id}", //带有参数的 URL new {controller="Home",action="Index",id=UrlParameter.Optional} //参数默认值 );

1、请求控制器action方法,即可以接收Get,也可以接收Post提交的数据。

*MVC强大的内置Htmlhelper类。

<%: Html.TextBox("txtName","这是文本框。") %> //自动生成html标签为: <input id="txtName" name="txtName" type="text" value="这是文本框。"> <%: Html.ActionLink("这是A标签。","Index","Home",new {Id="a1",style="color:red;",@class="classA"}) %> //自动生成html标签为: <a id="a1" class="classA" href="/Home/Index" style="color:red;">这是A标签。</a> 男:<%: Html.RadioButton("txtGender",1,true) %><br/> 女:<%: Html.RadioButton("txtGender",2,false) %><br/> 保密:<%: Html.RadioButton("txtGender",1,false) %><br/>
ViewData["city"] = new List<selectListItem>()
{
  new SelectListItem(){Selected=false,Text="北京",Value="1"}, new SelectListItem(){Selected=false,Text="天津",Value="2"}, new SelectListItem(){Selected=false,Text="南京",Value="3"}, new SelectListItem(){Selected=false,Text="成都",Value="4"}, }; <%: Html.DropDownList("city") %> //注释:后台将数据存储到ViewData中,前台通过key直接获取集合数据。


*强类型视图:
表单提交,ID和name值只要model类字段一样,提交的时候自动封装到实体类中。

//视图中使用表单标签2种方式
<% using(Html.BeginForm()) {%>

<%}%> //推荐

<% Html.BeginForm();%>
//……
<% Html.EndForm();%>


学习总结:
mvc与asp.net最大区别就是业务逻辑层(.cs)与视图层(.aspx)弱耦合关系。
视图层不再是一一对应逻辑层,用户访问页面也不再是直接访问指定的视图,
而是通过访问指定的控制器下面的action方法,通过控制器将最终数据交给视图展示。
备注:用户—>控制器—>模型(BLL,DAL)—>数据库(DB)—>模型—>控制器—>视图。

使用MVC不再使用任何服务器端控件,也没有viewstate。

转载于:https://www.cnblogs.com/han1982/p/4137504.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值