Asp.net mvc基础Controller给View传递数据的方式

Posted 冯继强fjq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Asp.net mvc基础Controller给View传递数据的方式相关的知识,希望对你有一定的参考价值。

1.ViewData传值

步骤一:通过在控制器中以键值对的形式进行赋值

ViewData["键"] = 值

赋值:

调用:

2.ViewBag传值

ViewBag是dynamic类型的参数,是对ViewData一个动态类型封装。

比如:使用ViewData["name"]="张三";进行赋值,在view中可以使用ViewBag.name进行调用

或者ViewBag.name = "张三";进行赋值,在view中使用ViewData["name"]进行调用

赋值:

调用:

3.Model类进行传值

弱类型模型传值

首先定义Model类,在控制器的方法中进行赋值,如下:

在View中直接使用@Model.Id等形式进行调用

注意:Model首字母一定要大写

强类型模型传值

强类型模型传值唯一不同的是,在View中通过"@model类型"指定类型。那么在调用的时候就会有提示出现该模型类的属性。

4.Action的三种类型的参数

Model类的参数

普通参数

在第一次请求并没有传递参数的时候,会发生报错,报错的原因是int类型必须赋值

解决方法:将int类型的参数变成可空类型的参数

请求参数正确做法如下:

FormCollection类型参数(只能post请求)

前端

后端:

 

注意:Action方法是不能重载的,如下图所示

如果想要重载的话,就需要将两个方法名相同的Action设置为不同的请求方式,如下所示:

提交文件

请求方式:post请求,文件参数类型:HttpPostedFileBase

前端一定要使用:enctype="multipart/form-data"的形式,不然会报错

前端:

后端:

 

 

 

 

 

 

 

 

以上是关于Asp.net mvc基础Controller给View传递数据的方式的主要内容,如果未能解决你的问题,请参考以下文章

asp.net mvc中Controller如何返回DataTable给页面

asp.net mvc是啥概念

Asp.net MVC 中Controller返回值类型ActionResult

ASP.NET Core MVC 之控制器(Controller)

Asp.net Mvc action返回多个模型实体给view

由于错误,无法将Controller添加到asp.net Core MVC Project:指定的runtimeconfig.json不存在