zoukankan      html  css  js  c++  java
  • [ASP.NET MVC]笔记(一)模型和HTML辅助方法

    • ModelState.IsValid    检验模型有效性
    • 显示模型绑定(操作方法中没有参数):

            UpdateModel(album):模型绑定期间出错会抛出异常

      TryUpdateModel(album) 不抛出错误,会返回true和false值

    HTML辅助方法

    • 表单默认方法是“get”提交方法
    @using(html.BeginForm()){
      @htm.ValidationSummary(excludePropertyErrors:truem)//只显示与模型有关的值的错误信息
    
    }
    • 在控制器中渲染视图
    ModelState.AddModelError(“Title”,“项目名称不能出现数字”);
    • 在视图中可以这样显示某个输入值校验错误信息
    @Html.ValidationMessage("Title");
    @Html.ValidationMessageFor(x=>x.Title)
    • 带有连字符的C#属性名是无效的,所有的HTML辅助方法在渲染HTML时,会将属性名的下划线转换为连字符,class是C#关键字,所以class属性面前要加@。@class

    强类型辅助方法(辅助后面都加了for)

    • @Html.Hidden("fenshu","18")  强类型版本: @Html.HiddenFor(m=>m.fenshu)
    • Html.Partial和Html.RenderPartial

      一般情况下使用用Html.Partial,因为更方便,不需要花括号,但Html.RenderPartial拥有较好的性能,它是直接写入响应流的,但这种性能需要大量的使用才能看出来

    • Html.Action("Menu");@Html.Action("视图","控制器"),传参版本:@Html.Action("视图","控制器",new { param1 = "abc", param2 = "def" })

      可能有这样的一个控制器,使用辅助方法可以直接放回一个带有菜单的局部视图:

    public ActionResult Menu(){
        var men=GetMenuList();
        return PartialView(men);
    }
    • Html.RenderAction("Menu"):也是直接写入响应流,

         传参数:@{  Html.RenderAction("Menu",new{ Stu=new Student{age=“12”,name=“sb”}})  }

    模板辅助方法

    • Html.Display和Html.Editor:通过数据注解来改变生成特定的HTML

         强类型版本:@Html.DisplayNameFor(x=>UserName)

    渲染辅助方法

    • @Html.ActionLink("hello","index","StoreIndex",new {id=1025},null);
  • 相关阅读:
    div 内容自动换行
    发邮件
    asp gridview
    授权 注册
    asp grid 增加和删除行数据
    计算两个日期相差的天数
    sql 删除数据库表 外键
    装完Centos7提示Initial setup of CentOS Linux 7 (core)(转载)
    如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
    centos7 安装拼音输入法(转载)
  • 原文地址:https://www.cnblogs.com/qiuguochao/p/6507393.html
Copyright © 2011-2022 走看看