创建一个基本mvc项目

1.向Models目录下添加一个类文件MyModel.cs文件,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web; namespace MvcDynamicTest.Models
{
public class MyModel
{
public string TestString { get; set; }
}
}

2.添加Home控制器,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcDynamicTest.Models;
using System.Dynamic; namespace MvcDynamicTest.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/ public ActionResult Index()
{
return View(new MyModel()
{
TestString = "This is a test string"
}
);
}
public ActionResult UsingExpando()
{
dynamic vm = new ExpandoObject();
vm.Name = "张三";
vm.Sex = true;
vm.Age = ;
vm.Math = 58.45;
return View(vm);
} }
}

3.增加Index Action对应的视图文件Index.cshtml,代码如下:

@{
ViewBag.Title = "Index";
} <h2>@Model.TestString</h2>

4.增加UsingExpando Action对应的视图文件UsingExpando.cshtml,代码如下:

@{
ViewBag.Title = "UsingExpando";
}
<h2>第1种方法输出:</h2><hr />
<p>@Model.Name<br />
@Model.Sex<br />
@Model.Age<br />
@Model.Math</p>
<br />
<h2>第2种方法输出:</h2><hr /><p>
@foreach (var fieldItem in (IDictionary<String, Object>)Model)
{
  @fieldItem.Key<span>:</span>@fieldItem.Value<br />
}
</p>
<br />
<h2>第3种方法输出:</h2><hr /><p>
@foreach (var f in Model)
{
   @f.Key<span>:</span>@f.Value<br />
}</p>
<br />
<h2>第4种方法输出:</h2><hr /><p>
@foreach (var f in Model)
{
   @f<br />
}</p>

5.最终效果图:


参考博客:

https://www.cnblogs.com/xuejianxiyang/p/4964739.html

在Mvc中,ExpandoObjec类的使用的更多相关文章

  1. Spring MVC中一般类使用service

    在Spring MVC中,Controller中使用service只需使用注解@Resource就行,但是一般类(即不使用@Controller注解的类)要用到service时,可用如下方法: 1.S ...

  2. asp.net mvc中匿名类dynamic

    dynamic info = new { name="aa", sex=“男”, age= }; //返回Model为info在前台中model.name报错,因为匿名类型默认访问 ...

  3. MVC中modelstate的使用

    MVC中ModelState类需要引用 System.Web.Mvc命名空间,在 System.Web.Mvc.dll 中. 属性 Errors 返回一个 ModelErrorCollection 对 ...

  4. 第四节:MVC中AOP思想的体现(四种过滤器)并结合项目案例说明过滤器的实际用法

    一. 简介 MVC中的过滤器可以说是MVC框架中的一种灵魂所在,它是MVC框架中AOP思想的具体体现,所以它以面向切面的形式无侵入式的作用于代码的业务逻辑,与业务逻辑代码分离,一经推出,广受开发者的喜 ...

  5. MVC中关于Membership类跟数据库的问题

    Membership它们用的是ASPNETDB这个数据库,但我们可以使用我们自定义的数据库,然而除非我们自定义的数据库有着跟这个ASPNETDB一样的模式,否则ASP.NET提供的默认的SqlMemb ...

  6. MVC中使用HTML Helper类扩展HTML控件

    文章摘自:http://www.cnblogs.com/zhangziqiu/archive/2009/03/18/1415005.html MVC在view页面,经常需要用到很多封装好的HTML控件 ...

  7. MVC Controller 基类中的Request

    今天在测试自己MVC程序的时候发现之前写代码的一个BUG,需求是每个页面要获取当前URL链接中包含的城市ID,我把获取url的方法写到了Controller的基类BaseController(Base ...

  8. Spring MVC中一般 普通类调用service

    在Spring MVC中,Controller中使用service只需使用注解@Resource就行,但是一般类(即不使用@Controller注解的类)要用到service时,可用如下方法: 1.S ...

  9. mvc中动态给一个Model类的属性设置验证

    原文:mvc中动态给一个Model类的属性设置验证 在mvc中有自带的验证机制,比如如果某个字段的类型是数字或者日期,那么用户在输入汉字或者英文字符时,那么编译器会自动验证并提示用户格式不正确,不过这 ...

随机推荐

  1. “百度杯”CTF比赛 九月场

    Test: 题目提示查资料 打开地址,是一个海洋cms 海洋cms有个前台getshell的漏洞 在地址后加上/search.php?searchtype=5&tid=&area=ev ...

  2. DAY19-Django之form组件补充

    问题1:注册页面输入为空,报错:keyError:找不到password def clean(self): print("---" ,self.cleaned_data) # if ...

  3. Shell杀tomcat进程

    一.killandclean.sh #!/bin/bash pid=($(ps -ef | grep tomcat | egrep -v grep | awk '{print $2}')) lengt ...

  4. .each循环的两种使用方法

  5. c++ 与 lua 简单交互参数介绍

    原文http://blog.csdn.net/johnice/article/details/5517431 一.第一个例子 Hello World ! #include <stdio.h> ...

  6. IDEA java 代码格式化统一

    Intellij idea 安装格式化插件 ECLIPSE CODE FORMATTER:1,安装插件:网络安装:选择Setting =>Plugins=>Browse repositor ...

  7. [转]JQuery 如何选择带有多个class的元素

    比如下面代码需要选择同时带有这几个class的元素,怎么写? 1 <div class="modal fade in"></div> A: 1. 依次过滤 ...

  8. 算法Sedgewick第四版-第1章基础-009一链表与数组的比较及其他数据结构

    1. 2.

  9. 505C Mr. Kitayuta, the Treasure Hunter

    传送门 题目大意 一共有30000个位置,从第0个位置开始走,第一次走k步,对于每一次走步,可以走上一次的ki+1 ,ki ,ki-1步数(必须大于等于1),每个岛上有value,求最大能得到的val ...

  10. 手把手教Android商业项目-即时通讯-i美聊

    [课程概况] 手把手教你从无到有的完整实现一个Android商业项目,是目前整个市场上所没有的课程,废话不多说,请往下看. [项目概况] 项目名称:i美聊 所属领域:移动社交 即时通讯   代码行数: ...