zoukankan      html  css  js  c++  java
  • MVC 路由

    1. 特性验证。

    //[Required]

    //[StringLength(5,MinimumLength=2)]

    //[Range(typeof(string),"a","z")]

    //[StringLength(5, MinimumLength = 2)]

    //[Range(3, 20)]       

    //OutputCache特性 相当于aspx的整页缓存,默认为绝对过期时间

    //[OutputCache(Duration=20,VaryByParam="id")]

    //[ValidateInput(false)]//关闭请求报文中危险标签字符验证

    2. 自定义验证特性类(自定义数据注解)。

    3. 服务端验证(1,2都属于浏览器端的验证)

    [HttpPost]

            public ActionResult Add(Models.Student model)

            {

                if (!ModelState.IsValid)

                {

                    return Content("验证未通过!");

                }

                return null;

            }

    4. 绝对过期时间和滑动过期时间。

    5. 比较校验和远程校验。

    //[Compare("CID")]//用来和CID属性的值进行比较验证

    //[Remote("IsSame","Home")]//用来远程ajax请求 /Home/IsSame/Name=123的方法,会自动根据方法返回值(bool)判断是否通过验证

    6. 合并js或css请求。

    //合并js文件

    bundles.Add(new ScriptBundle("~/jsVlidate")

    .Include("~/Scripts/jquery-1.7.1.min.js")

    .Include("~/Scripts/jquery.validate.min.js")

    .Include("~/Scripts/jquery.validate.unobtrusive.min.js")

    );

    //合并css文件

    bundles.Add(new StyleBundle("~/cssMty")

    .Include("~/Content/1.css")

    .Include("~/Content/2.css")

    );

    //开启 js/css 压缩合并功能

    BundleTable.EnableOptimizations = true;

    @Styles.Render("~/cssMty")

    @Scripts.Render("~/jsVlidate")

    7. MVC的异步请求方式(必须开启非侵入式Ajax)

    必须引入js文件:<script type="text/javascript" src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

    @Ajax.ActionLink("我要去广州小蛮腰", "XiaoMan", new AjaxOptions() {

            HttpMethod="post", UpdateTargetId="contDiv", InsertionMode = InsertionMode.Replace

        })

        <div id="contDiv" style="border:1px solid #0094ff; 400px;">你有钱吗?</div>

        <h1>异步表单:</h1>

        @using (Ajax.BeginForm("GetDate", "Home", new AjaxOptions()

        {

            HttpMethod = "post",

            OnSuccess = "suc",

            OnFailure="err",

            LoadingElementId = "imgLoad"

        })) {

            <input type="text" name="txtName" />

            <input type="submit" />

            <div id="imgLoad">加载中~~~</div>

    }

    8. 路由检测组件 – RouteDebug的使用

    在Web.config配置文件里<appSetting>添加

    <add key=”RouteDebugger:Enable” value=”true” />

    9. 其他匹配方式(路由的URL语法)

    Localhost:13661/home-index-a

    Localhost:13661/home.index.a

    Localhost:13661/home.index-a

    10. 路由约束

    routes.MapRoute(

                    name: "Default",

                    url: "{controller}/{action}/{id}",

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

                    constraints: new {id =@"d*"}

                );

    11. 生成指定路由的url超链接

    @Html.RouteLink(“test”,”Default”,

    new { controller=”home”,action=”index”,id=1});

    会根据找到的路由规则生成超链接。

    12. MVC验证码

    public class HelperController : Controller

        {

            /// <summary>

            /// 生成验证码

            /// </summary>

            /// <returns></returns>

            public ActionResult VCode()

            {

                Helper.VCode v = new Helper.VCode();

                byte[] arrImg = v.GetVCode();

                return File(arrImg,"image/jpge");

            }

        }

    13. MVC中可以使用一般处理程序。

    14. MVC和WebForm比较,面试回答注意。

    15. 区域。

    (1)尝试将区域注册类放到另一个程序集中。(根据命名空间和程序集遍历,便于分类模块,有利于类的规范。)

    (2)将区域控制器放到外面程序集。

    (3)当用户访问视图的时候,可以设置只访问html(不访问aspxhtmml,vbhtml)的网页,来进行优化,减轻服务器的负担。

    (4)DI依赖注入。

    16. MVC项目框架搭建(多个控制器共享同一个视图,真正的控制器与视图分离)

    17. 面向切面编程。

  • 相关阅读:
    修改CentOS默认yum源为国内镜像
    linux下安装部署ansible
    Centos7 下安装部署zabbix-agent客户端
    Centos7下安装部署zabbix
    Jumpserver文档链接
    分布式部署文档
    分布式部署文档
    分布式部署文档
    分布式部署文档
    分布式部署文档
  • 原文地址:https://www.cnblogs.com/HuoAA/p/4137113.html
Copyright © 2011-2022 走看看