MVC中@理解
来源:互联网 发布:淘宝二手商品3c认证 编辑:程序博客网 时间:2024/05/29 14:22
打开mvc项目时,打开Login.cshtml文件就会发现各种@的用法
首先需要说一下技术演变历史,对理解这个很有帮助
一、ASP.NET
asp.net需要在.aspx页面加入c#或者vb代码
1、<%=%> 是输出,里面放的变量名,如:
<div> < h1>Hello World</h1> < p>Welcome to ASP.NET on <%= DateTime.Now.ToString() %></p> < /div>
输出结果为:
HelloWorld
Welcome to ASP.NET on 20011-11-10 14:25:40
(这个例子很典型)
2、 <%#%> 是赋值,它是数据的绑定的语法,必须要调用改控件的DataBind()方法才可以执行。
如:<%# DataBinder.(Container.DataItem,"ClassName") %>
完整代码:<asp:DataList ID="ClassList" runat="server"> < ItemTemplate> <%# DataBinder.(Container.DataItem,"ClassName") %> < /ItemTemplate> < /asp:DataList></td>
3、<%@ %> 表示:引用
如在很多.aspx页面中,都可以看到如下的代码:
<%@ PageLanguage="C#" CodeFile="Default.aspx.cs"Inherits="_Default" %>
4、<%%>中间一般放函数或者方法,典型的asp程序写法。
例如:<trbgcolor="#ffffff"> < td height="20"> < div align="center">类别:</div> < /td> < td height="9"> < %ST_getList();%> < /td> < /tr>
二、从ASP.NET MVC 3开始加入了Razor引擎"@"
Razor是为了将所需的字符和击键数减少到最小,Razor在内部帮我们做了闭合“%>”
从
<% for(int i=0; i<3; i++) { %>
<p>现在是<%= i %></p>
<% } %>到
@{
for
(
int
i=0; i<3; i++)
{
<p>现在是 @i</p>
}
的变化}
三、Razor视图引擎加入后,扩展出的@helper功带来强大的功能。
1、模板页
1.1@ViewBag.Title
ViewBag.Title 就是 显示网页的title ,可以在layout里面 定义一个 @ViewBag.Title - XXX网站
1.2@Styles.Render("~/Content/css")
对应App_Start/BundleConfig下添加的CSS引用组
1.3@Scripts.Render("~/Content/js")
对应App_Start/BundleConfig下添加的js引用组
1.4@Html.ActionLink()
输入
@Html.ActionLink("这是一个连接", "Index", "Home")
输出 <a href="/">这是一个连接</a>
1.5@Html.Partial("视图")
可以将视图放在同级目录下,或者放在Shared目录下,除此之外的就不行了。
Partial 回传的一个Object (MvcHtmlString), 回传一个String把一堆Html给回传出来, 然后写进到主页面上
1.6@RenderBody()
母版页的概念,可以认为这里放置引用模板页的内容
1.7@DateTime.Now.Year
在html代码中输出年份
2、Login.cshtml
@{}表示一个代码块
2.3@using (Html.BeginForm("Index", "Home", FormMethod.Get, new { name = "nbform", id = "nbform" }))
指定表单提交方式和路径等
2.4@Html.CheckBoxFor()
设置复选框input元素
- MVC中@理解
- iOS中MVC的理解
- iOS中MVC的理解
- ios中MVC的一点理解
- IOS开发中MVC的理解
- java中,如何理解MVC思想
- AspNet MVC中各种上下文理解
- ssh中对MVC的理解
- 理解MVC
- 理解MVC
- 理解MVC
- MVC理解
- MVC理解
- mvc理解
- MVC理解
- mvc理解
- mvc理解
- mvc理解
- 多点生活的分布式服务框架DSF
- c++对象内存模型(内存布局)
- 51nod 1208&& POJ 2482
- (管理后台1)创建应用
- Oracle 11g安装完成登录sqlplus / as sysdba出错,权限不足解决办法
- MVC中@理解
- C++中Event使用
- 用直播(推拉流)模拟实现视频聊天功能(iOS)
- Css样式优先级问题
- hdu 3951 Coin Game(对称博弈)
- Android动态权限管理:Android Runtime Permission.
- studio中引入jar包
- 为什么抓包工具所抓包最小是54字节而不是60字节
- 常用shell