MVC基础知识详情

1:在MVC中如果要从前台页面(.aspx)获取参数,只需要将其两个页面的参数设置成一样的,这样子MVC中的机制就会自动的将参数的值传到方法中。

2:在MVC中的方法要是两个都是相同的名字,用【HttpGet】和【HttpPost】来区分各自的作用。

3:控制器往前台提供数据和后台往控制器提交数据的时候会有自动装配表单。

4:在MVC3.0版本的时候,有了Razor模板引擎,它在减少代码抗余,增强代码的可读性,和在vs智能感知方面有着很大的改变。

5:这里面执行的是C#的代码。可以使用@{code}来定义一个语句块。也支持代码混写,在代码里面插入HTML都是可以的。

@{

layout=null;    模版页的布局

}

6:这是在Razor中的数据转换类型。

7:代码

@{
    string str = "<script>alert('Demo')</script>";
    <p>@str</p>
 
      <p>
        @Html.Raw(str);     //可以成功的将其JS代码输出来。
    </p>
}
@{
    string str2 ="123";
    <p>@str2.IsInt()</p>
    <p>@str2.AsInt()</p>
}

8:控制器知识要点

*控制器的三个职责:处理和用户的交互,处理业务逻辑层的调用,指定据特定的视图显示数据,平且把数据传递给视图。

*控制器的三约定:必须是非静态类,必须实现iController接口,必须是以Controller结尾命名。

在控制器的Action中可以访问当前请求的数据,已经干涉响应的内容。既可以操作请求也可以控制响应。

9:

**Controller对应一个XXController.cs控制文件,对应在View中有一个XX文件夹,一般情况一个Action对应一个Aaspx页面。

**一个Controller可以包含多个Action,每一个Action都是一个方法,返回一个ActionResult实例。

**

10:ASP.NET MVC 中 ActionResult 和 ViewResult 在使用上的区别是什么?

ActionResult是一个基类,它有很多的派生类,ViewResult就是一个,如果一个方法你很确定其返回值为视图(View),那么就可以 用ViewResult定义。【

ActionResult 是一个抽象(abstract)类,ViewResult 只是ActionResult 的一个实现(implementation)。如果你确认你返回的是一个视图(view),你可以直接返回类型为ViewResult。
ActionResult 有很多的派生类,如果你很确定你要返回的类型,你可以明确的返回该类型。
如果你并不是很清楚,或者你根本不想去理解这些东西,你可以直接返回这些派生类的基类:ActionResult 。

11:MVC中的路由模块<System.Web.Routing>

*:路由的作用HTTP://Localhost/Host/Index

1:确定Controller,Action,和Views.

2:解析请求的URL

*:路由规则是有顺序的。一个项目中可以有很多的路由规则。

eg:

public class RouteConfig
    {

public static void RegisterRoutes(RouteCollection routes)

{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

//注册了一条路由规则

routes.MapRoute(

name: "Default",//做为路由规则的key。key一定是不能重复的

url: "{controller}/{action}/{id}",//可以有多个参数请求后台URL的格式,

defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

//控制器,Id,Action的默认值

);

}

12:MVC验证

*.NET中有很多的内置验证特性其中的有[Required],[StringLength],[Range],[RedularExpreeion]

*:自己定义验证特性,然后应用他们,在服务端效验只需要在Action中效验,Model.IsValidate属性即可,true为通过,false为不通过。,在使用客户端效验的时候只需要引用Js脚本即可。

13:MVC中的过滤器

*:作用是在执行Action之前,之后 执行的一些具体的操作。

14:在项目中如果遇到了大点的项目就会有很多的文件夹,文件就很乱,不好找文件,这时微软有一个区域的

*区域的范围路由大于一般的路由。区域的路由设置最优先的。

*使用区域可以使项目可以更好的管理。

*可以让我们的项目不至于太复杂而导致管理的混乱,有了区域以后,每个模块的页面都放在了相应的区域里面进行管理很方便。

15:MVC渲染【在网页的嵌套的时候就要用到这两个拉力进行网页的嵌套】

**在视图页面,html.RenderAction(“About”);

**html.RenderPartial(“About”);前者是把about中的值展示出来,而后者是将about里面的字段展示出来。

MVC知识点02的更多相关文章

  1. 4-3 Spring MVC框架-02

    Spring MVC框架-02 Ⅰ.RESTful基础 是一种设计风格和开发方式 1.get和post请求区别: get post 获取请求 上传请求 请求参数在地址栏URL 请求参数在请求体里面 U ...

  2. ASP.NET MVC知识点总结

    一直都有把MVC的知识点总结出来的打算,今日终于得偿所愿.话不多说,开工!!! 一·  MVC MVC设计模式->MVC框架(前端开发框架),asp.net(webform) aspx M:Mo ...

  3. Spring MVC知识点整理

    网上Spring MVC相关知识点的介绍已经有很多了,但是大部分文章都是介绍其中的一部分知识点. 本文希望能够向读者做一个基本整体的介绍,首先我们先来了解下Spring MVC的基础接口和组件.   ...

  4. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

  5. [Java] Spring MVC 知识点

    云图: @Service 用于标注业务层组件. 在 Spring-servlet 配置xml中,component-scan 标签默认情况下自动扫描指定路径下的包(含所有子包),将带有@Compone ...

  6. MVC 知识点学习2

    1._Layout.cshtml   @RenderBody() 2.自定义扩展HtmlHelper(需要添加Bootstrap.js或者Bootstrap.min.js文件到项目中) namespa ...

  7. WinForm,MVC知识点

    WinForm的一些基础知识,用来回忆自己遗忘的,唤醒自己的知识. 虽然现在有MVC但是我觉得还是要学习一下WinForm的,毕竟以前也被大家用了好多年. 基础知识01 1:一个控件有很多的事件,每个 ...

  8. Ninject.MVC 知识点记录

    Ninject 是跟Unity 差不多的DI容器.Ninject 推荐零配置,快速使用.小中型项目,最适合. 通过nuget,安装Ninject.MVC.略.参考博客:Ninject依赖注入      ...

  9. MVC缓存02,使用数据层缓存,添加或修改时让缓存失效

    在"MVC缓存01,使用控制器缓存或数据层缓存"中,在数据层中可以设置缓存的有效时间.但这个还不够"智能",常常希望在编辑或创建的时候使缓存失效,加载新的数据. ...

随机推荐

  1. Codeforces Round #382 (Div. 2) A. Ostap and Grasshopper bfs

    A. Ostap and Grasshopper 题面 On the way to Rio de Janeiro Ostap kills time playing with a grasshopper ...

  2. 原创:goldengate从11.2升级到12.1.2

    goldengate从11.2升级到12.1.2 1.停止抽取进程 GGSCI (001.oracle.drs.dc.com) 286> stop EXTSJ01 2. 停止投递和复制进程 等待 ...

  3. NYOJ 741 &quot;数学家&quot;ST

    "数学家"ST 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 ST是个非常特别的人类,不仅喜欢做一些不同平常的事,并且对于在无聊的时候怎样打发时 ...

  4. 一个winform带你玩转rabbitMQ

    源码已放出 https://github.com/dubing/MaoyaRabbit 本章分3部分 一.安装部署初探 二.进阶 三.api相关 安装 部署 初探 先上图 一. 安装部署 下载 rab ...

  5. 用git上传本地项目到github上

    首先确认自己已经安装了git,打开git bash,输入ssh-keygen -t rsa -C "自己的邮箱地址@XXX.com" ,生成自己的公钥与私钥   一路默认回车,会生 ...

  6. iOS10 升级兼容必备参考

    最近提交审核不通过,再iOS10上运行崩溃 .然后需要处理崩溃的问题,晚上找了一下,整理收集起来. 方便后续查看使用. 以下参考链接特别有用: http://blog.csdn.net/gbking/ ...

  7. winform C#获得Mac地址,IP地址,子网掩码,默认网关

    1.添加程序集 2.引入命名空间 using System.Management; 3.方法 ManagementClass mc = new ManagementClass("Win32_ ...

  8. 初识WEB:输入URL之后的故事【转】

    转载一篇文章,分析的是浏览器输入url后所执行的一系列操作!写得非常清晰易懂,分享给大家! 作者:Jesse 出处:http://jesse2013.cnblogs.com/ 本文版权归作者和博客园共 ...

  9. win8 IIS

    IIS打开页面报500错误 aspnet_regiis.exe -i 报 “此操作系统版本不支持此选项” 决解方法: 控制面板 - 程序和功能 - 启动或关闭windows功能 - Internet ...

  10. BeginInvoke与Invoke的区别

    简单的讲就是 BeginInvoke不需要等待方法运行完毕,就会继续执行下面的代码 Invoke则必须等待Invoke中的代码运行完毕,才会继续执行下面的代码. 可以通过下面的项目测试上面所描述的观点 ...