View从Action中获得数据和html helper function(转载)
@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(转载)的更多相关文章
- 一步步学习ASP.NET MVC3 (5)——View从Action中获得数据
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们把Razor的模板技术给大家介绍了一下,当然模板中还有其他的知识点,这个以后我们还会继续讲解.本章我们主要讨论 ...
- ASP.NET MVC中如何以ajax的方式在View和Action中传递数据
前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好.#我是猪系列 背景:之前介绍过一篇如何构建 MVC&AJax&JSon示例,这一篇单独讲解如何在View和A ...
- Struts2获取Action中的数据
当我们用Struts2框架开发时,经常有要获取jsp页面的数据或者在jsp中获取后台传过来的数据(Action),那么怎么去获取自己想要的数据呢? 后台获取前端数据: 在java程序中生成要获取字段的 ...
- view如何从action中取得数据和 Html辅助方法
方式:1使用弱类型取,2,使用强类型,两者的差别在于view页面最上方声明的方式 如果使用弱类型接受来自控制器的数据,在view页面里完全不需要有任何的生命,数据可以从ViewData,ViewB ...
- ACTION中获得数据的几种方式
1.第一种是通过公司封装的方法. 2.第二种:是通过IF方法判断 3.第三种是通过:set/get获得
- action中json的应用
这篇文章重点介绍action中json数据的返回处理:假设须要看前端代码的一些特效或ajax的json接收,请看上一篇博客:http://blog.csdn.net/yangkai_hudong/ar ...
- 将Controller中的数据传递到View中显示
如何将Controller 中的数据传送到View 步骤: (1)要有数据,如果要用到对象可以在Model 中定义对应的类 (2)要有装数据的容器: System.Text.StringBuilder ...
- struts2:数据校验,通过Action中的validate()方法实现校验,图解
根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种 Struts2中提供了一个com.opensymphony.xwork2.Valid ...
- struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)
前文:struts2:数据校验,通过Action中的validate()方法实现校验,图解 如果定义的Action中存在多个逻辑处理方法,且不同的处理逻辑可能需要不同的校验规则,在这种情况下,就需要通 ...
随机推荐
- codeforces 546D Soldier and Number Game
题目链接 这个题, 告诉你a, b的值, 那么只需要求出b到a之间的数, 每个数有多少个因子就可以. 具体看代码, 代码里面有解释 #include<bits/stdc++.h> usin ...
- IOS 特定于设备的开发:使用加速器启动屏幕上的对象
借助一点编程工作,iPhone的机载加速计就可以使对象在屏幕上四处“移动”,实时响应用户倾斜手机的方式.下面的代码就是创建一个动画式的蝴蝶,用户可以使之快速移过屏幕. 使之工作的秘密在于:向程序中添加 ...
- Html 小插件3
搜狗搜索框代码 <script>function verifyquery(form){if(form.sogou_drop.value==2){form.insite.value='';} ...
- float 浮点数与零值0比较大小
float x: 千万不要写x==0; 写出float x 与“零值”比较的if语句——一道面试题分析 写出float x 与“零值”比较的if语句 请写出 float x 与“零值”比较的 if ...
- (Android) ContentProvider 实例
ContentProvider 用于应用程序(Android Application)之间传递数据,包括Insert, update, delete, query. 下面的例子是在两个应用之间传递数据 ...
- c#SocketIO4NetClient访问node js
提到Node,不能错过的是WebSocket协议.它与Node之间的配合堪称完美,其理由有两条. 1.WebSocket客户端基于时间的编程模型与Node中自定义事件相差无几. 2.WebSocket ...
- navicat重新系统丢失libmysql_e
解决方法: 1把libmysql_e拷贝到c盘的Windows的system文件夹
- 315M无线发射模块天线的长度计算
波长=光速/频率=300/315=0.952米 1/4波长须要的天线长度=波长*1/4=0.952/4=0.238米 考虑导线传播高频信号的缩短率在0.98左右,因此天线长度=0.238*0.98=0 ...
- QVector 和vector的比较
QVector和vector的比较: Qvector默认使用隐式共享,可以用setSharable改变其隐式共享.使用non-const操作和函数将引起深拷贝.at()比operator[](),快, ...
- 笔记-Nodejs中的核心API之Events
最近正在学习Node,在图书馆借了基本关于Node的书,同时在网上查阅资料,颇有收获,但是整体感觉对Node的理解还是停留在一个很模棱两可的状态.比如Node中的模块,平时练习就接触到那么几个,其他的 ...