先定义一个Model类Student

namespace Lession.Models
{
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
public string Sex { get; set; }
}
}

控制器如下:

using Lession.Models;
using Microsoft.AspNetCore.Mvc; namespace Lession.Controllers
{
public class TestController : Controller
{
public IActionResult Index()
{
ViewData["name"] = "kxy";
ViewData["sex"] = "男";
ViewData["age"] = ; ViewBag.Name = "kxy";
ViewBag.Sex = "男";
ViewBag.Age = ; Student student = new Student() { Name="kxy",Age=,Sex="男"};
return View(student);
} }
}

视图如下:

<body>
@*ViewData是进行静态数据传递*@
@ViewData["name"]
@ViewData["sex"]
@ViewData["age"]
<br /> @*ViewBag是对ViewData的封装,进行动态数据传递*@
@ViewBag.Name
@ViewBag.Sex
@ViewBag.Age
<br /> @*Model也是进行动态数据传递,需要控制器return一个model*@
@Model.Name
@Model.Age
@Model.Sex
</body>

  在这里,可以对Model进行类型定义,在视图上方加入

@model Lession.Models.Student

  这样,就可以在书写Model的时候自动补全属性

  也可以使用后台语法添加控件,并利用model显示数据

    @*使用后台语法添加控件,利用lambda表达式输出内容,这里的m指的就是上面定义的model*@
@Html.TextBoxFor(m => m.Name)
@Html.TextBoxFor(m => m.Sex)
@Html.TextBoxFor(m => m.Age)

  且这个控件的Id和Name属性的值均为Student对应的属性名称

  即

    @Html.TextBoxFor(m => m.Name)
 对应生成
    <input id="Name" name="Name" type="text" value="kxy"> 2.特性DisPlayName
  这个特性可以添加在类的属性上面,做属性名称解释
  如:在Name上面添加特性DisPlayName
using System.ComponentModel;
namespace Lession.Models
{
public class Student
{
[DisplayName("这里是kxy的名字")]
public string Name { get; set; }
public int Age { get; set; }
public string Sex { get; set; }
}
}

  视图代码:

    @*输出属性的特性DisplayName*@
@Html.LabelFor(m => m.Name)

  结果:

    编译生成:<label for="Name">这里是kxy的名字</label>

 

Core Mvc传值ViewData、ViewBag和return view(model)的更多相关文章

  1. Core Mvc传值Query、Form、Cookies、Session、TempData、Cache

    1.传值方法 使用Request的方法(1-3): 1)Query:获取链接?后面的值 如:http://localhost:55842/Home/About?name=kxy public IAct ...

  2. 几句话说明 .NET MVC中ViewData, ViewBag和TempData的区别

    ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["myName"] ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.my ...

  3. Asp.Net Core MVC传值 Asp.Net Core API 前台写法

    $("#Add_User").click(function () { var obj = { //"属性名": 传递的值, "User_Name&qu ...

  4. ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门

    一.前言 1.本教程主要内容 ASP.NET Core MVC 视图引擎(Razor)简介 ASP.NET Core MVC 视图(Razor)ViewData使用示例 ASP.NET Core MV ...

  5. ASP.NET Core 入门笔记6,ASP.NET Core MVC 视图传值入门

    摘抄自:https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-mvc-view-renderdata.html 如有侵权请告知 一.前言 1.本教 ...

  6. 007.Adding a view to an ASP.NET Core MVC app -- 【在asp.net core mvc中添加视图】

    Adding a view to an ASP.NET Core MVC app 在asp.net core mvc中添加视图 2017-3-4 7 分钟阅读时长 本文内容 1.Changing vi ...

  7. MVC 强类型传值Model。和弱类型传值ViewData[&quot;&quot;]。及用EF进行增删查改(母版页的使用)

    <1> 控制器 </pre><pre name="code" class="csharp">using MvcTest.Mo ...

  8. 创建ASP.NET Core MVC应用程序(1)-添加Controller和View

    创建ASP.NET Core MVC应用程序(1)-添加Controller和View 参考文档:Getting started with ASP.NET Core MVC and Visual St ...

  9. ASP.NET MVC中viewData、viewBag和templateData的区别

    在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag是动态类型(dynamic),ViewData是一个 ...

随机推荐

  1. TreeView CheckBox勾选联动

    http://www.cnblogs.com/excellently/p/TreeViewCheckBox.html 在C# Winform项目中用到了TreeView控件,并且需要勾选的功能.父子节 ...

  2. cnblogs latex公式

    选项->启用数学公式支持 \begin{equation*} \begin{split} &xxx\\ &xxx\\ \end{split} \end{equation*} (\ ...

  3. Day032--Python--操作系统, process进程

    多道技术背景: 提高工作效率(充分利用I/O阻塞的时间)    (I: input, O: output) 同时执行多个任务 多道技术: 空间复用: 充分利用内存空间 时间复用: 充分利用I/O阻塞时 ...

  4. mysql 变量定义 sql查询

    SET @idnoStr:='"idNo":"'; SELECT LOCATE(@idnoStr, param_array), LOCATE('",', par ...

  5. HTML学习笔记Day15

    一.CSS3渐变 (一).CSS3渐变(gradient)可以让你在两个或多个指定的颜色之间显示平稳的过度:渐变效果比使用图片在放大时看起来效果更好,因为渐变(gradient)是由浏览器生成的 1. ...

  6. windows远程桌面无法粘贴复制的问题解决方法

    这两天遇到一个困扰我很久的问题,每次通过winodws远程桌面,本地的数据无法通过复制粘贴到远程服务器上.现把我找到的解决方案记录下来分享给大家 一般出现问题可能性比较大的原因就是rdpclip.ex ...

  7. 列举一些 MacBook Pro 必需的外设和应用程序推荐

    来源:知乎 文章收录于:风云社区SCOEE,提供上千款mac软件下载 基于从事Apps设计或开发者,使用 MacBook Pro,以下罗列一些必需的外设和应用程序推荐. Retina 256GB SS ...

  8. MySQL 8.0.14 新的密码认证方式和客户端链接

    MySQL 8.0.14 新的密码认证方式和客户端链接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   MySQL8.0在密码认证方式发生了改变,这也是有点小伙伴在MySQL创建 ...

  9. Python中表达式与语句

    简述 Python中我暂时并未发现谁对着两个名词的明确定义:我对这两个名词的理解就是,表达式就是你想要执行的对象,语句就是你的具体执行操作. 这里应用慕课网老师的一段话,摘自网上"表达式(E ...

  10. Memcache在.Net中的使用

    一.Memcache基本概念(socket服务器) 本质:是一个在内存上存储的hash表,key的最大值是255字符,最长过期时间为30天 特点:惰性删除,没有监控数据过期的机制,实现最基本的key- ...