Core Mvc传值ViewData、ViewBag和return view(model)
先定义一个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)的更多相关文章
- Core Mvc传值Query、Form、Cookies、Session、TempData、Cache
1.传值方法 使用Request的方法(1-3): 1)Query:获取链接?后面的值 如:http://localhost:55842/Home/About?name=kxy public IAct ...
- 几句话说明 .NET MVC中ViewData, ViewBag和TempData的区别
ViewData和TempData是字典类型,赋值方式用字典方式, ViewData["myName"] ViewBag是动态类型,使用时直接添加属性赋值即可 ViewBag.my ...
- Asp.Net Core MVC传值 Asp.Net Core API 前台写法
$("#Add_User").click(function () { var obj = { //"属性名": 传递的值, "User_Name&qu ...
- ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门
一.前言 1.本教程主要内容 ASP.NET Core MVC 视图引擎(Razor)简介 ASP.NET Core MVC 视图(Razor)ViewData使用示例 ASP.NET Core MV ...
- ASP.NET Core 入门笔记6,ASP.NET Core MVC 视图传值入门
摘抄自:https://www.cnblogs.com/ken-io/p/aspnet-core-tutorial-mvc-view-renderdata.html 如有侵权请告知 一.前言 1.本教 ...
- 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 ...
- MVC 强类型传值Model。和弱类型传值ViewData[""]。及用EF进行增删查改(母版页的使用)
<1> 控制器 </pre><pre name="code" class="csharp">using MvcTest.Mo ...
- 创建ASP.NET Core MVC应用程序(1)-添加Controller和View
创建ASP.NET Core MVC应用程序(1)-添加Controller和View 参考文档:Getting started with ASP.NET Core MVC and Visual St ...
- ASP.NET MVC中viewData、viewBag和templateData的区别
在MVC3开始,视图数据可以通过ViewBag属性访问,在MVC2中则是使用ViewData.MVC3中保留了ViewData的使用.ViewBag是动态类型(dynamic),ViewData是一个 ...
随机推荐
- 第三十三篇-TabLayout的使用
效果图: 最上方是一个TabLayout,有三个部分,新闻.财经.娱乐,下方是一个ViewPaper,里面包含三个fragment,分别对应三个xml和java class. 第一个Fragment里 ...
- 【译】10. Java反射——数组
原文地址:http://tutorials.jenkov.com/java-reflection/arrays.html ======================================= ...
- JVM 辣鸡回收
垃圾回收算法 标记清除法 先标记出需要回收的对象,然后一次性回收.缺点:会产生内存碎片,并且效率也不高. 标记压缩法 先标记出需要回收的对象,然后让存活对象向一端移动,移动的过程中进行回收辣鸡.避免了 ...
- Go条件语句、switch和循环语句
一:Go条件语句 package main import "fmt" //========go条件判断语句=== func main() { { fmt.Println(" ...
- IAR STM32 ------ CSTACK HEAP 设置一次可用栈的大小,HardFault_Hander
CSTACK:限制函数中定义数组的最大值,否则进入HardFault_Hander HEAP:限制动态分配内存(C函数库中的malloc)的大小,不用可以设置为0
- mac上安装虚拟机
1.Mac | 怎么安装虚拟机 2.Mac | 怎么安装VMware Fusion虚拟机 资源下载链接: 1.win7旗舰版-64位.iso 2.VMFusion811.rar
- python正则提取关键字
python使用正则表达式提取关键字 import sys reload(sys) sys.setdefaultencoding("utf-8") import re ss = & ...
- 全角的空格(A1A1)惹的祸!
#先上干货 “A1A1”是指全角的空格(GBK码): #验证 由上图可以看出半角的空格的HEX为"20": 由上图可以看出,在ANSI格式编码的文件中输入的全角的空格,转换为HEX ...
- vue报错:/node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?
vue项目中报这样的错误:./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js? 大部分是因为文件的路径有 ...
- Ubuntu修改Apache默认Web端口
改成你要的端口,默认为80,这里我改成了8080,https改成了444,保存之后寻找000/default.conf并修改成和ports.conf文件一样的http端口,然后重启Apache服务器即 ...