首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我应该在哪里放置我的asp.net-mvc强类型viewdata?

在ASP.NET MVC中,ViewData是一种动态类型的数据传递方式,它允许在控制器和视图之间传递数据。对于强类型数据,推荐使用ViewBag或者使用强类型模型。

如果您希望使用ViewData,可以在控制器中将数据放入ViewData中,例如:

代码语言:csharp
复制
ViewData["Message"] = "Hello World";

然后在视图中,可以使用ViewData来访问这些数据,例如:

代码语言:csharp
复制
<h2>@ViewData["Message"]</h2>

如果您希望使用强类型模型,可以在控制器中创建一个模型类,并将数据传递给视图,例如:

代码语言:csharp
复制
public class MyModel
{
    public string Message { get; set; }
}

public ActionResult Index()
{
    var model = new MyModel { Message = "Hello World" };
    return View(model);
}

然后在视图中,可以使用模型来访问这些数据,例如:

代码语言:csharp
复制
<h2>@Model.Message</h2>

总之,推荐使用强类型模型来传递数据,因为它可以提供更好的类型安全性和代码自动完成支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

MVC5学习系列--Razor视图(一)

视图作用 我们初步了解一下,Razor视图是在MVC3中加入新玩法,嗯..注意MVC1 2 都是和Webform那种蛋疼无比写法,那么,问题来了,挖掘机技术哪家?!(艹,什么鬼,.....视图用法 上面大概展示了视图作用..下面我们就来用用傲娇它 视图常用一些数据字典. ViewBag,ViewData,ViewDataDictionary,任意类型.....嗯,这里我们暂时不提类型,后面讲模型时候在来将, 下面我们看个实例,代码如下: //我们在Test控制器中,用三种方式来给视图Data赋值.....ViewDataDictionary类型属性.....ViewData,ViewBag只不过是提供给我们两种调用方式,且不区分大小写,且这两种方式在性能上...好像也没多大区别,这里就不测了,欢迎大神给结论,好了,废话不多说,我们进入下个环节,通过上面的实例

1.3K80

ASP.Net MVC开发基础学习笔记:一、走向MVC模式

大家好,又见面了,是你们朋友全栈君。...url,因此控制生成SEO友好URL将更加容易;      4.类型View实现、Razor视图、Model绑定机制、Model验证机制,更安全高效; 缺点: 学习成本高,结构复杂,对未变化数据不必要频繁访问...(5)ViewData与ViewBag比较 ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP.NET MVC3...中查询数据时需要转换合适类型 在ViewPage中查询数据时不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller中代码...所以,所有的请求都是要指定一个具体Action,Url格式是根据路由规则来定。那么,在ASP.Net MVC路由规则默认又是什么,在哪里设置呢?

86620

ASP.Net MVC开发基础学习笔记:一、走向MVC模式

url,因此控制生成SEO友好URL将更加容易;      4.类型View实现、Razor视图、Model绑定机制、Model验证机制,更安全高效; 缺点: 学习成本高,结构复杂,对未变化数据不必要频繁访问...名字跟Action名字相同   (4)控制器必须是非静态类,并且要实现IController接口   (5)Controller类型可以放到其他项目中 4.3 视图相关约定 ?   ...(5)ViewData与ViewBag比较 ViewData ViewBag 它是Key/Value字典集合 它是dynamic类型对像 从Asp.net MVC 1 就有了 ASP.NET MVC3...中查询数据时需要转换合适类型 在ViewPage中查询数据时不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller中代码...所以,所有的请求都是要指定一个具体Action,Url格式是根据路由规则来定。那么,在ASP.Net MVC路由规则默认又是什么,在哪里设置呢?

1.9K30

ASP.NET MVC5高级编程——(2)MVC模式视图

dynamic简洁语法,又能获得类型和编译时检查好处(比如正确输入属性和方法名称)。...类型视图允许设置视图模型类型。因此可以从控制器向视图传递一个在两端都是类型模型对象,从而获得智能感知、编译器检查等好处。...之前介绍了使用ViewBag从控制器向视图传递信息,然后介绍了传递类型模型。...一般来说,大部分代码使用ViewBag(传递少量简单类型数据),而不是ViewData,这两种语法并不存在技术上差异,仅仅是因为ViewBag相对于字典语法而言看上去好看。..., //即:这个视图定义变量,谁使用这个变量,这个变量内容就显示到哪里, 3 ViewBag.Title = "The Index"; 4 } 5 6 this is

2.8K10

ASP.NET MVC5高级编程——(2)MVC模式视图与Razor引擎

dynamic简洁语法,又能获得类型和编译时检查好处(比如正确输入属性和方法名称)。...类型视图允许设置视图模型类型。因此可以从控制器向视图传递一个在两端都是类型模型对象,从而获得智能感知、编译器检查等好处。...之前介绍了使用ViewBag从控制器向视图传递信息,然后介绍了传递类型模型。...一般来说,大部分代码使用ViewBag(传递少量简单类型数据),而不是ViewData,这两种语法并不存在技术上差异,仅仅是因为ViewBag相对于字典语法而言看上去好看。..., //即:这个视图定义变量,谁使用这个变量,这个变量内容就显示到哪里, 3 ViewBag.Title = "The Index"; 4 } 5 6 this is

3.5K50

.NET MVC第三章、三种传值方式

TempData·支持夸函数 传递方法 前台接收 ​编辑TempDate测试 ---- ViewData ASP.NET MVC 5源代码中ControllerBase类中ViewData属性定义:...public ViewDataDictionary ViewData { get; set; } 可以看到是字典类型,属性值object类型 public class ViewDataDictionary...ViewData测试 可以看到后台传递过来msg信息。 ViewBag ViewBag对象是ASP.NET MVC 3提供功能,它被声明为一个dynamic类型。...ASP.NET MVC 5源代码中声明如下: dynamic类型变量都会编译为object类型变量。因此,dynamic类型只存在于编译时刻,而不存在于运行时刻。...[Dynamic] public dynamic ViewBag { get; } 传递方法 ViewBag.Info = "是通过ViewBag传递值"; 前台接收 @ViewBag.Info

51710

【asp.net core 系列】3 视图以及视图与控制器

也就是说 Layout = "_Layout",这行意思是给某个名为Layout属性设置值为_Layout。 那么,Layout属性是哪里呢?...将在这里为大家再次讲解为什么推荐这样写: 以Controller结尾,可以很明确告诉其他人或者未来自己这是一个控制器,不是别的类 继承Controller,是因为Controller类为我们提供了控制器用到属性和方法...ViewData一次封装,两者并没有实际上区别。...在View方法一些重载版本里,需要一个名为 model参数,类型是object。这个参数就是一个ViewModel。...ViewBag访问与ViewData类似,只不过ViewBag是动态对象,可以认为它类型并没有发生改变,继续按照之前类型进行使用: @ViewBag.Name 对于ViewModel

2.5K10

基于windowsngnix基础使用

前言   今天组长一大早心血来潮跟我说,希望我们小组电脑做web站点服务器集群,你搞一搞,就用ngnix吧。   君要臣死,臣不得不死。顺便写个文章做个笔记。...简介   Nginx 是一个高性能HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务。易用性,学习成本低,可维护性高。传送门。...建立测试站点   用建了一个基础mvc框架web站点,将其部署在IIS上,在Index后台,写上两句话     ViewData["ip"] = System.Web.HttpContext.Current.Request.UserHostAddress...;//获取ip地址       ViewData["url"] = Request.Url.ToString();//获取url   把两个变量展示在页面,主要是方便验证结果。...修改ngnix配置   基本都准备好了,现在修改ngnix配置,映射到对应站点地址就可以了,nginx-1.6.3\conf下nginx.conf文件。

75920

华为为什么敢做国产高端机? | 拔刺

--- 拔出你心中最困惑刺!--- 在这个用过即弃时代,不要让你求知欲过期。 今日拔刺: 1、华为为什么敢做国产高端机? 2、智能商业背景下便利店前途在哪里?...因为只要花钱把顶尖或者相对高端配件拼凑在一起,就是高端机了。很多人都知道手机行业里头有共享资源一说,大家都能获取绝大多数高端技术硬件。...同理,高端机之所以能区别于中端和低端,真正上来说应该在于拥有者让自己引以为傲,让别人争相获取、垂涎已久技术。简单来说就是——一直被模仿,从未被超越。...而有真正核心技术华为不是敢做高端机,而是能做高端机并且还能做得不赖。 智能商业背景下便利店前途在哪里? 线下便利店优势在于用户能全方位感受商品。...所以在这时,便利店如果使用了智能技术,消费者就会知道关于商品更多信息,购买商品时也无需排队。对于商家来说,可使用大数据技术统计消费者习惯、产品偏好,更加精准地进货、放置货物。

54140

【.NETCore 3】Ids4 ║ 统一角色管理(上)

前言 书接上文,咱们在上周,通过一篇《思考》 性质文章,和很多小伙伴简单讨论了下,如何统一同步处理角色问题,众说纷纭,这个一会儿会在下文详细说到,而且最终也定稿方案了。...其实这两种都可以,而且一般人都是采用 Guid 和 string 形式,但是很不巧是, Blog.Core 项目使用是 Int 类型,所以,这里就统一修改成 int,大家根据需要自己处理吧...,具体如何处理 int 呢,大家多注意下文类型就行,我会点明注意点。...可以通过 F12 查看源码就能了解到相应逻辑,咱们就直接这么修改: // 注意下 红色 int类型,到时候创建主键是 int 类型。...,可以看到,和之前表结构,几乎是一样,可以看到我们右侧 Identity 生成表结构,不仅主键变成了一样 Int 类型,相关属性字段也都有,如果你有强迫症的话,也可以把字段长度设为一致,还记得在哪里修改把

66740

Asp.Net Core1.1版本没了project.json,这样来生成跨平台包

vs2017,这给我带来直接好处是把报红C盘腾出10GB左右空间,从这里直接能感受到vs2017体积如此之小;之前有写过一篇开源netcore服务文章开源一个跨平台运行服务插件 - TaskCore.MainForm...,这里用到两个个属性: 1....string key, byte[] value); 键值对方式,但是值是一个byte[]类型参数,我们每次使用时候都需要自己转一下数据类型感觉不是很方便,那么我们通过扩展方法方式来扩展下 ISession...T>(strVal);             }             return t;         }         #endregion     } 直接传递一个对象T到扩展方法中,转类型后再存储...所以可以直接这样命令运行)来运行测试用例项目: 到这里一个windows上运行包就完成了,有朋友就开始疑惑那跨平台呢,还有您之前配置 win7-x64;

36010
领券