zoukankan      html  css  js  c++  java
  • MVC中的@model与Model

    @model模型定义

          使用@model关键字可以定义一个Action里所对应的一个模型(经常可以叫他实体类),其实是对动态变量进行实例化,这样就可以直接在cshtml文件中调用“Model”变量。而这个模型的实例,需要通过Controller进行传输,如果没有则“Model”将为null模型可以是一个实体类,也可以是一个列表实例,字典对象都可以进行定义,但是和Controller中的Action传回来的实例一定要一样,否则将会出现错误。

    Model 定义

          MVC的第一个字母M是Model,承载着View层和Controller之间的数据传输,是数据传输的载体,通过Model层,解偶了View层和Controller层。MVC框架中Model层的主要关注点是如何把请求的数据自动装配成Action所需要的bean,除此外,框架Model层还可以提供复合bean自动装配、输入校验、本地化及国际化、字符集编码转换、多重输出等功能。

    (1)定义Model实体

    public class SearchWithFundingList
    {
    /// <summary>
    /// 方案分类
    /// </summary>
    public int ProjectCategory { get; set; }
    /// <summary>
    /// 发起时间小
    /// </summary>
    public string MinAddDate { get; set; }
    /// <summary>
    /// 发起时间大
    /// </summary>
    public string MaxAddDate { get; set; }
    /// <summary>
    /// 状态
    /// </summary>
    public int State { get; set; }
    /// <summary>
    /// 昵称
    /// </summary>
    public string NickName { get; set; }
    /// <summary>
    /// 用户id
    /// </summary>
    public int Mid { get; set; }
    }

    (2)传递Model

    private SearchWithFundingList GetFormWithFundingNow(int id, int uid)
    {
    SearchWithFundingList model = new SearchWithFundingList();
    model.Mid = uid;
    model.State = WithFundingStateKey.Doing;
    model.ProjectCategory = id;
    return model;
    }

    注意:一定要在最后return 实体,不然前台的Model实体是null 

    (3)具体调用

    在页面代码最上面添加上实体的声明

    @{Layout = null;}
    @model StockFunds.Entities.DTO.SearchWithFundingList

    接下来就可以在页面里使用Model(这里的实体就是指SearchWithFundingList实体),并且此时的Model已经是强类型了,我们可以点出具体的属性,非常方便<span class="state">Model.State</span>元</span>  

  • 相关阅读:
    jquery实现导航栏切换、下划线移入移出
    兼容:部分iphone手机click事件无效
    解决:TypeError: initAutoImportComponents is not a function 过程记录
    【名词解释】8.序列图
    【名词解释】7.UML类图
    【名词解释】1.懒加载
    【项目】运行jar文件提示没有主清单属性
    【工具】MD5加密
    【工具】【截图工具】FScapture,支持滚动
    【名词解释】repl介绍
  • 原文地址:https://www.cnblogs.com/wyongqi/p/7675969.html
Copyright © 2011-2022 走看看