MVC的含义:
Model-View-Controller。Model层是处理数据,View是显示页面,Controller层是服务于Model层和View层之间的数据交互的。和WebForm不一样的是,WebForm属于Code-Behide,而MVC是属于前端和后端分离的设计模式。
数据绑定:
WebForm的数据绑定是:前台: <asp:TextBox id="test" runat="server"></asp:TextBox>;后台:text.Text=*****;
MVC的数据绑定是:View层: @Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" });
MVC理解:
1、每个页面中都有@{ViewBag.Title = "Delete";}这是用来在View层和Controller层之间传递数据的。当然,如果在对应的Controller层有相应的声明的话,页面上的就不用声明
2、关于@Html.ActionLink的重载
重载一、Html.ActionLink("linkText","actionName")
该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法视图,默认控制器为当前页面的控制器
例如:
Html.ActionLink("跳转到About页面", "About");
解析为:
<a href="/Home/About">跳转到About页面</a>
重载二、Html.ActionLink("linkText","actionName","controlName")
该重载比第一个重载多了一个参数。第一个参数:要显示的文本,第二个参数:视图名, 第三个参数:控制器名
例如:
Html.ActionLink("跳转到别的controler中", "Index", "Home");
解析为:
<a href="/Home/Index">跳转到别的controler中</a>
重载三、
Html.ActionLik("linkText","actionName",routeValues)
第一个参数:要显示的文本,第二个参数:视图名, 第三个参数:url中的参数
例如:
Html.ActionLink("跳转到About页面", "About", new { id = "1", name = "x" })
解析为:
<a href="/Home/About/1?name=x">跳转到About页面</a>
重载四、
Html.ActionLink("linkText","actionName",routeValues,htmlAttributes)
第一个参数:要显示的文本,第二个参数:视图名, 第三个参数:url中的参数,第四个参数:设置标签属性
例如:
Html.ActionLink("跳转到About页面", "About", new { id = "1", name = "x" }, new { disabled = "disabled",@class = "about"})
解析为:
<a class="about" disabled="disabled" href="/Home/About/1?name=x">跳转到About页面</a>
注意:设置标签的class属性时,应在class前加上@,因为class是关键字。
重载五、
Html.ActionLink("linkText","actionName","controlName",routeValues,htmlAttributes)
该重载包含了上面提到的所有参数类型