zoukankan      html  css  js  c++  java
  • MVC小记备忘

    1,页面用<dl><dt><dd>和Bootstrap的"dl-horizontal"类布局页面,使每一个属性名和属性值占一行

    <dl class="dl-horizontal">
            <dt>
                @Html.DisplayNameFor(model => model.FirstName)
            </dt>
            <dd>
                @Html.DisplayFor(model => model.FirstName)
            </dd>
    </dl>

    2,函数Html.EnumDropDownListFor,必须要MVC5才可以使用

    @Html.EnumDropDownListFor(model => model.Sex)

    它会根据Sex这个Enum变量来生成下拉菜单。这个Enum的定义如下:

    public enum Sex
    {
         Male, Female
    }

    那么它生成的下拉菜单代码如下:

    <select data-val="true" data-val-required="Sex 字段是必需的。" id="Sex" name="Sex">
    <option selected="selected" value="0">Male</option>
    <option value="1">Female</option>
    </select>

    3,@Html.AntiForgeryToken()函数的作用是抵御网页跨站请求伪造漏洞(CSRF Cross-site request forgery)。这个漏洞可以盗用登录用户身份发送恶意请求。比如一个用户登录了网上银行,然后访问攻击者的网站,网站就会通过登录用户发出请求来获取银行信息。

    4,Action的参数是以worker实例传递的。也就是说Create.cshtml提交的4个值被赋值给work然后把worker传递给Create作为参数。而这个参数前面的[Bind(Include = "FirstName, LastName, Sex, Rating")]是为了防止过多提交(overposting)攻击的。从Create.cshtml的代码可以知道,这个页面只会提交4个值。而黑客可以有办法通过这个页面提交更多的值给当前Action,而这些多出来的值也会存在worker实例中被添加到数据库,这无疑是危险的。因此[Bind(Include = "")]就限定了不管你提交多少值,我这个Action里只接受"FirstName, LastName, Sex, Rating"这4个值。保证了页面的安全性。

    5,ModelState.AddModelError()函数可以给Model添加一条错误信息,函数的第一个参数是key,用于查找这个错误信息,第二个参数是错误信息的具体内容。这个错误信息可以在View中通过Html.ValidationMessage("unableToSave")来访问到。

  • 相关阅读:
    类定义(课下选做)
    结对项目第一周
    迭代和JDB
    JAVA 第五周学习总结
    JAVA 第四周学习总结
    JAVA 第三周学习总结
    springcloud-provider-consumer-register
    springcloud-eureka
    springBoot-打包
    spring-Scheduler
  • 原文地址:https://www.cnblogs.com/sky2014/p/4287825.html
Copyright © 2011-2022 走看看