@model MvcApplication1.Models.M_Person
@using MvcApplication1.Models;
@{
    ViewBag.Title = "GetData";
    var p = ViewData["data"] as M_Person;
    var p2 = ViewBag.Data as M_Person;
}
<h2>
    GetData</h2>
<div>
    这是从ViewData.Model中取出的数据 @ViewData.Model.Name
</div>
<div>
    这是从ViewData["data"]中取出的数据 @p.Age
</div>
<div>
    这是从ViewBag.Data中取出的数据 @p2.Name @p2.Age
</div>
@{int i = 1;}
@*@helper ChangeColor(int age)
    {
    if (age > 90)
    {

    <font color="red">@age</font>
    }
    else
    {
    @age
    }
}*@
@*@functions{

public IHtmlString ChangeColor(int age)

    {

if(age>90)

        {

return new HtmlString("<font color='red'>"+age+"</font>");

        }else

        {

return new HtmlString(age + "");

        }

    }

}*@
<table border="1px" cellpadding="2px" cellspacing="0px" width="500px" style="border-collapse: collapse">
    <tr>
        <th width="20px">
            ID
        </th>
        <th>
            和尚
        </th>
        <th width="50px">
            年龄
        </th>
        <th width="100px">
            操作
        </th>
    </tr>
    @foreach (M_Person person in ViewBag.Persons)
    { 

        <tr>
            <td align="center">@(i++)
            </td>
            <td align="center">@person.Name
            </td>
           @* <td align="center">@ChangeColor(person.Age)*@
          @* <td align="center">@UIHelper.ChangeColor(person.Age)*@
         @* <td align="center">@ChangeColor(person.Age)</td>*@
         <td align="center">@UIFunctions.ChangeColor(person.Age)</td>
            <td align="center">
                删除||编辑
            </td>
        </tr>

    }
</table>

  UIHelper.cshtml

@helper ChangeColor(int age)
{

if(age>90)
    {
<font color="red">@age</font>
    }else
    {
@age

    }
}

  UIFunctions.cshtml

@functions{

    public static IHtmlString ChangeColor(int age)
    {

        if (age > 90)
        {

            return new HtmlString("<font color='red'>" + age + "</font>");

        }
        else
        {

            return new HtmlString(age + "");

        }

    }

}

  controller

      public ActionResult GetData()
        {
            M_Person person = new M_Person() { Name = "济公活佛", Age = 90 };
            ViewData["data"] = person;
            ViewData.Model = person;
            ViewBag.Data = person;
            List<M_Person> list = new List<M_Person>() {
            new Models.M_Person() { Name = "济公活佛", Age = 90 },
            new Models.M_Person() { Name = "广亮和尚", Age = 88 },
            new Models.M_Person() { Name = "怄气禅师", Age = 45 },
            new Models.M_Person() { Name = "飞龙僧", Age = 123 }
            };
            ViewBag.Persons = list;
            return View();
        }

  

View从Action中获得数据和html helper function(转载)的更多相关文章

  1. 一步步学习ASP.NET MVC3 (5)——View从Action中获得数据

    请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们把Razor的模板技术给大家介绍了一下,当然模板中还有其他的知识点,这个以后我们还会继续讲解.本章我们主要讨论 ...

  2. ASP.NET MVC中如何以ajax的方式在View和Action中传递数据

    前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好.#我是猪系列 背景:之前介绍过一篇如何构建 MVC&AJax&JSon示例,这一篇单独讲解如何在View和A ...

  3. Struts2获取Action中的数据

    当我们用Struts2框架开发时,经常有要获取jsp页面的数据或者在jsp中获取后台传过来的数据(Action),那么怎么去获取自己想要的数据呢? 后台获取前端数据: 在java程序中生成要获取字段的 ...

  4. view如何从action中取得数据和 Html辅助方法

    方式:1使用弱类型取,2,使用强类型,两者的差别在于view页面最上方声明的方式   如果使用弱类型接受来自控制器的数据,在view页面里完全不需要有任何的生命,数据可以从ViewData,ViewB ...

  5. ACTION中获得数据的几种方式

    1.第一种是通过公司封装的方法. 2.第二种:是通过IF方法判断 3.第三种是通过:set/get获得

  6. action中json的应用

    这篇文章重点介绍action中json数据的返回处理:假设须要看前端代码的一些特效或ajax的json接收,请看上一篇博客:http://blog.csdn.net/yangkai_hudong/ar ...

  7. 将Controller中的数据传递到View中显示

    如何将Controller 中的数据传送到View 步骤: (1)要有数据,如果要用到对象可以在Model 中定义对应的类 (2)要有装数据的容器: System.Text.StringBuilder ...

  8. struts2:数据校验,通过Action中的validate()方法实现校验,图解

    根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种 Struts2中提供了一个com.opensymphony.xwork2.Valid ...

  9. struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)

    前文:struts2:数据校验,通过Action中的validate()方法实现校验,图解 如果定义的Action中存在多个逻辑处理方法,且不同的处理逻辑可能需要不同的校验规则,在这种情况下,就需要通 ...

随机推荐

  1. hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)

    Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...

  2. 贴片陶瓷电容的NPO、C0G、X7R、X5R、Y5V、Z5U辨析

    NPO与X7R.X5R.Y5V.Z5U神马的有啥区别?主要是介质材料不同.不同介质种类由于它的主要极化类型不一样,其对电场变化的响应速度和极化率亦不一样. 在相同的体积下的容量就不同,随之带来的电容器 ...

  3. mysql 批量删除分区

    alter table titles drop partition p01; use zabbix; mysql> source drop_par.sql [oracle@oadb mysql] ...

  4. BZOJ 4300 绝世好题(位运算)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4300 [题目大意] 给出一个序列a,求一个子序列b,使得&和不为0 [题解] ...

  5. Noip2013错误避免

    很多的时候,我们会说,这道题我会做,算法想出来了,但是这里那里少了一些判断,导致一分未得,或是说变量名错误,或者说干脆是文件名错误.这些都不是理由,如果火箭发射半空爆炸,可以说是控制器中一个运算符错误 ...

  6. [cpp]伯乐在线编程挑战第 0 期 – 呼叫转移系统

    题目: 描述 呼叫转移服务是一个把呼叫号码A转移到号码B的服务.举个例子:当你正在度假时,这样的系统非常有帮助.A君度假去了,那么,A君的工作电话可以通 过呼叫转移至B君.更进一步讲,当B君也正好在度 ...

  7. 排序算法 - 快速排序(Quick Sort)

    算法思想 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序.它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod). (1) 分治法的基本思想  ...

  8. What Is Your Grade?(水,排序)

    What Is Your Grade? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  9. Google Maps 学习笔记(三)

    1.GPolyline折线对象和GPolygon多边形对象 html标签中必须包含v="urn:schemas-microsoft--com:vml"的命名空间 <html ...

  10. [学习笔记]js动画实现方法,作用域,闭包

    一,js动画基本都是依靠setInterval和setTimeout来实现 1,setInterval是间隔执行,过一段时间执行一次代码 setInterval(function(){},500);即 ...