代码片段:

读取 new{ ....}

方法1:转换为json对象

dynamic model = SaleOrderServices.GetGiftOrderById(WebHelper.GetQueryInt("id"));

var json = JsonConvert.SerializeObject(model);
                var o2 = JsonConvert.DeserializeObject(json) as JObject;
                string CommpanyName = (string)o2["CommpanyName"];
                string STORENAME = (string)o2["STORENAME"];
                string CUSTOMERNAME2jjj = (string)o2["CUSTOMERNAME2"];

方法2:如果结果为空的话,会报错

dynamic expando = new System.Dynamic.ExpandoObject(); //动态类型字段 可读可写
                expando.Id = 1;
                expando.Name = "Test";

PropertyDescriptorCollection collection = TypeDescriptor.GetProperties(model);
                PropertyDescriptor cnpd = collection.Find("CommpanyName", true);
                ViewData["CommpanyName"] = cnpd != null ? cnpd.GetValue(model).ToString() : "";
                
                PropertyDescriptor cn2pd = collection.Find("CUSTOMERNAME2", true);
                ViewData["CUSTOMERNAME2"] = cn2pd!=null? cn2pd.GetValue(model).ToString():"";

PropertyDescriptor snpd = collection.Find("STORENAME", true);
                ViewData["STORENAME"] = snpd != null ? snpd.GetValue(model).ToString() : "";

c# 匿名类型获取值的更多相关文章

  1. ASP.NET MVC Action向视图传值之匿名类型

    在使用ASP.NET MVC过程中想必大家都有遇到过一个问题就是我们的Action如何向视图传递匿名类型的值呢,如果不做特殊处理则无法实现. 接下来我们来看一个示例: 在我们的控制中: using S ...

  2. 编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]

    前言 从.NET3.0开始,C#开始一直支持一个新特性:匿名类型.匿名类型由var.赋值运算符和一个非空初始值(或以new开头的初始化项)组成.匿名类型有如下基本特性: 1.既支持简单类型也支持复杂类 ...

  3. 根据Excel列类型获取列的值

    using System.Data; using System.IO; using System.Text; using System.Web; using NPOI.SS.UserModel; us ...

  4. C#3.0新特性:隐式类型、扩展方法、自动实现属性,对象/集合初始值设定、匿名类型、Lambda,Linq,表达式树、可选参数与命名参数

    一.隐式类型var 从 Visual C# 3.0 开始,在方法范围中声明的变量可以具有隐式类型var.隐式类型可以替代任何类型,编译器自动推断类型. 1.var类型的局部变量必须赋予初始值,包括匿名 ...

  5. 定义类+类实例化+属性+构造函数+匿名类型var+堆与栈+GC回收机制+值类型与引用类型

    为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机会. 面向对象编程也叫做OOP编程 简单来说 ...

  6. jquery 获取及设置input各种类型的值 (转)

    jQuery操作input值总结 获取选中的值 获取一组radio被选中项的值 var item = $("input[@name=items]:checked").val(); ...

  7. jquery 获取及设置input各种类型的值

    获取选中的值 获取一组radio被选中项的值 var item = $(“input[@name=items]:checked”).val(); 获取select被选中项的文本 var item = ...

  8. 《精通C#》自定义类型转化-扩展方法-匿名类型-指针类型(11.3-11.6)

    1.类型转化在C#中有很多,常用的是int类型转string等,这些都有微软给我们定义好的,我们需要的时候直接调用就是了,这是值类型中的转化,有时候我们还会需要类类型(包括结构struct)的转化,还 ...

  9. Lua 学习笔记(二)语法、类型、值

    首先Lua执行的每一段代码都称之为“程序块”,一个程序块也就是一连串的语句或命令,例如一个源码文件或一行代码.Lua语句之间并不需要分隔符,如代码中的换行就不起任何作用,当然为了养成编码习惯当两条或者 ...

随机推荐

  1. Fragment 和Acitivity的相互传值

    百度云:链接: http://pan.baidu.com/s/1jGzYRFg 密码: xpx9

  2. 7.Nginx_Keepalived高可用配置

    2. 利用keepalived实现高可靠配置(HA) 2.1. 高可靠概念 HA(High Available):高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节 ...

  3. pycharm 快捷键及一些常用设置

    pycharm中的快捷键及一些常用设置 在PyCharm /opt/pycharm-3.4.1/help目录下可以找到ReferenceCard.pdf快捷键英文版说明 PyCharm Default ...

  4. golang高并发

    golang 为什么能做到高并发 goroutine是go并行的关键,goroutine说到底就是携程,但是他比线程更小,几十个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这 ...

  5. linux中telnet后退出连接窗口

    [root@a cron]# telnet www.baidu.com 80Trying 115.239.211.112...Connected to www.baidu.com.   #显示conn ...

  6. html5原生js拖拽上传(golang版)

    一次只能传一个文件,需在main.go同级目录中建一个upload文件夹 main.go package main import ( "fmt" "io" &q ...

  7. Java根据余弦定理计算文本相似度

    项目中需要算2个字符串的相似度,是根据余弦相似性算的,下面具体介绍一下: 余弦相似度计算 余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小.余弦值越接近1,就表明夹角越接近0度, ...

  8. (十三)C语言之break、continue

  9. beta week 2/2 Scrum立会报告+燃尽图 07

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9959 一.小组情况 组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名: ...

  10. mysql统计前24小时数据没有补0

    SELECT t1. HOUR HOUR, COUNT(t2. HOUR) count FROM ( SELECT DATE_FORMAT( HOUR), '%y-%m-%d %H' ) HOUR F ...