您的位置:首页 > 编程语言 > ASP

ASP .NET MVC

2016-09-09 15:05 169 查看
1) MVC项目中引入aspx文件
我们知道,当创建相应的Controller控制器时,此时就会在View文件夹中创建相应的视图文件,以HomeController为例,这也是在创建MVC项目时就自动创建的,那么此时也会在View文件夹下的Home文件下存在着Index文件,先把Index文件删除掉,然后就可以直接的创建aspx文件了,选择web窗体即可,但是在创建完成,在运行时,是会出错的,要进行引入相应的namespace和修改继承类。

==>在相应的aspx.cs文件中添加using System.Web.Mvc;

==>将aspx.cs中原来继承的System.Web.UI.Page改成System.Web.Mvc.ViewPage类。

 

2) Razor视图引擎
==>母版页_Layout.cshtml

这是模板页,@RenderBody()表示占位符,就用首页视图的内容置换到这里,最后处理完成返回静态页面。

3) 使用MVC实现数据库数据操作
==>Form标签在向服务器提交数据发送请求时,所有控件的值是是随着请求一起发送到服务器端的。

4) Action方法几种返回值
==>ContentResult

return Content(rss.ToString(),
"application/rss+xml");

ContentResult就是返回的是简单的字符串类型。

        ==>EmptyResult

Return null;

EmptyResult表示当前Action返回一个null。

        ==>RedirectResult和RedirectToRouteResult

表示跳转。

5) 使用MVC实现登录注册功能
  <form method="post" action="/Home/RegistUser">,主要是from表单提交时,这里action写法,其中Home是控制器名称(不需要携带Controller),RegistUser是action名称。

  string userName = Request["userName"];在HomeController中就直接根据name来获取相应的请求值。

6) HtmlHelper使用以及自定义HtmlHelper
==>学习HtmlHelper
 

这是使用Razor视图引擎实现Html中的a标签、文本输入框、性别等标签;其中@是Razor视图引擎的标志(使用Ctrl+shift+空格可以查看方法参数相关信息)。

==>自定义HtmLHelper
在自定义HtmlHelper时,注意三点:静态类、静态方法、this关键字

 

String只是输出普通字符串;HtmlString则是输出html代码,也就是字符串中含有html元素,如果只是使用简单的string,则html元素就会原样输出,不会识别html标签,而htmlstring就可以把html标签进行识别。

当要进行自定义HtmlHelper时,要将自定义的MyHtmlHelper类定义成static,在静态类中定义的所有的方法都是静态方法,在方法中传递的参数中一定有一个this
HtmlHelper htmlHelper参数,表示我们是在HtmlHelper基础上进行自定义的。

还有一个细节,就是在自定义MyHtmlHelper时,要将namespace改成System.Web.Mvc,这个namespace就是C#中HtmlHelper类的namespace,我们将自定义的MyHtmlHelper类的namespace改成这个就是为了在html页面使用时,就不用引入自己的namespace,直接使用就ok,不用导入相应的namespace。

==> Controller中显示模块化
 

在需要进行将代码卷起来形成模块化时,使用#region和#endregion,则就可以将相应的action方法进行卷起来形成模块化。

7) 控制器传递数据到视图
==>控制器与视图的关系
控制器类在响应传入的请求时被调用,控制器类是你写代码处理浏览器请求、从数据库中检索数据、并最终决定发送什么类型的响应给浏览器。视图模板被控制器用来生成和格式化HTML响应给浏览器。控制器的责任是为视图模板提供必须的数据或对象,用来绘制HTML响应浏览器。一个最佳实践是:视图模板从来不参与业务逻辑,或直接与数据库交互。

8) 明确ViewBag和ViewData

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ASP .NET MVC