ASP.NET MVC Html.Partial/Html.RenderPartial/Html.Action/Html.RenderAction区别
1. @Html.Raw() 方法输出带有html标签的字符串:
<div style="margin:10px 0px 0px;border:1px;border-color:red;border-style:dotted;">
<h4>Title:Html.Raw</h4>
Html.Raw:@Html.Raw("<div style=\'background-color:red \'>HelloWorld!</div>")
</div>

自我分析:直接输出HTML内容!
2. @html.ActionLink生成一个<a href=".."></a>标记:
<div style="margin:10px 0px 0px;border:1px;border-color:red;border-style:dotted;">
<h4>Title:Html.ActionLink</h4>
Example Of Usage: Html.ActionLink("linkText","ActionName","ControlName",new { id = "911"},new{ target="_blank"})
<br />
@Html.ActionLink("Click Me!", "GetView", "Test", new { id = " 11" }, new { target = "_blank" })
</div>

自我分析:直接输出一个<a></a>标签,即返回一个/Controller/Action/形式的Link!
3. @Url.Action
<div style="margin:10px 0px 0px;border:1px;border-color:purple;border-style:dotted;">
<h4>Title:Url.Action</h4>
Example Of Usage:Url.Action("ActionName","ControlName",new { id = "911" })
<br />
@Url.Action("GetView", "Test", new { id = "12" })
</div>

自我分析:返回一个/Controller/Action形式的url,这应该是对Url.Action最形象的说明了吧!
4. @Html.Action
View:
<div style="margin:10px 0px 0px;border:1px;border-color:blue;border-style:dotted;">
<h4>Title:Html.Action</h4>
Example Of Usage: Html.Action("ActionName", "ControlName") PS.Invoke the Partial View
<br />
@Html.Action("GetMyPartialView", "Test")
</div>
Action:
public ActionResult GetMyPartialView()
{
EmployeeBusinessLayer bl = new EmployeeBusinessLayer();
List<Employee> empList = bl.GetEmployeeList();
EmployeeListViewModels empVMEmp = new EmployeeListViewModels(); for (int i = ; i < empList.Count; i++)
{
EmployeeViewModels newEmp = new EmployeeViewModels();
newEmp.EmployeeName = empList[i].FirstName + " " + empList[i].LastName; if (empList[i].Salary > )
{
newEmp.SalaryColor = "Red";
}
else
{
newEmp.SalaryColor = "Yellow";
}
newEmp.Salary = empList[i].Salary.ToString();
empVMEmp.employeeList.Add(newEmp);
}
empVMEmp.UserName = "admin";
return View("MyPartialView", empVMEmp);
}

自我分析:加载公共部分的代码如当前登录用户在各个页面的信息显示,也可以理解为返回一个由/Controller/Action/构造的HTML文本内容并进行呈现。
5. @Html.RenderAction
View:
<div style="margin:10px 0px 0px;border:1px;border-color:orange;border-style:dotted;">
<h4>Title:Html.RenderAction</h4>
Usage Of Example:@{Html.RenderAction("PartialView Name","ControlName");}
<br />
@{Html.RenderAction("GetMyPartialView", "Test");}
</div>
Action:
public ActionResult GetMyPartialView()
{
EmployeeBusinessLayer bl = new EmployeeBusinessLayer();
List<Employee> empList = bl.GetEmployeeList();
EmployeeListViewModels empVMEmp = new EmployeeListViewModels(); for (int i = ; i < empList.Count; i++)
{
EmployeeViewModels newEmp = new EmployeeViewModels();
newEmp.EmployeeName = empList[i].FirstName + " " + empList[i].LastName; if (empList[i].Salary > )
{
newEmp.SalaryColor = "Red";
}
else
{
newEmp.SalaryColor = "Yellow";
}
newEmp.Salary = empList[i].Salary.ToString();
empVMEmp.employeeList.Add(newEmp);
}
empVMEmp.UserName = "admin";
return View("MyPartialView", empVMEmp);
}

6.总结:@Html.ActionLink和@Url.Action都是为了实现页面跳转而用于生成链接用的。而Html.Partial/Html.RenderPartial/Html.Action/Html.RenderAction则是用于页面中嵌入部分视图/用户控件/动态内容,具体区别参见下表:

ASP.NET MVC Html.Partial/Html.RenderPartial/Html.Action/Html.RenderAction区别的更多相关文章
- Html.Partial,Html.RenderPartial Html.Action,Html.RenderAction区别
@Html.Partial,@Html.RenderPartial 这两者的共同点都是在视图中去调用另外一个视图,区别是 Html.Partial 有返回值 ( MvcHtmlStrin ...
- MVC 部分视图:Partial() 、RenderPartial() 、 Action() 、RenderAction() 、 RenderPage() 区别
在视图里有多种方法可以 加载部分视图,包括: Partial() Action() RenderPartial() RenderAction() RenderPage() 方法. 以下是这些方 ...
- asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别
转载自 : <asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别> 先复制过来 ...
- ASP.NET MVC中默认Model Binder绑定Action参数为List、Dictionary等集合的实例
在实际的ASP.NET mvc项目开发中,有时会遇到一个参数是一个List.Dictionary等集合类型的情况,默认的情况ASP.NET MVC框架是怎么为我们绑定ASP.NET MVC的Actio ...
- [转]ASP.NET MVC 入门4、Controller与Action
Controller是MVC中比较重要的一部分.几乎所有的业务逻辑都是在这里进行处理的,并且从Model中取出数据.在ASP.NET MVC Preview5中,将原来的Controller类一分为二 ...
- ASP.NET MVC 入门4、Controller与Action
原帖地址:http://www.cnblogs.com/QLeelulu/archive/2008/10/04/1303672.html Controller是MVC中比較重要的一部分.差点儿全部的业 ...
- Html.PartialView(),html.Renderpartial,html.action.html.RenderAction 辅助方法
Html.Partial(), 返回HTML字符串 .参数为部分视图 html.RenderPartial(),不返回返回HTML字符串 ,直接输出响应流.参数为部分视图 一般用于主视图中已经存在了这 ...
- asp.net MVC中获取当前URL/Controller/Action
一.获取URL(ASP.NET通用): [1]获取完整url(协议名+域名+虚拟目录名+文件名+参数) string url=Request.Url.ToString(); [2]获取虚拟目录名+页面 ...
- 【ASP.NET MVC 学习笔记】- 13 Child Action
本文参考:http://www.cnblogs.com/willick/p/3410855.html 1.Child action 和 Patial view 类似,也是在应用程序的不同地方可以重复利 ...
随机推荐
- IIS7配置PHP 报错 "对找不到的文件启用文件监视"
原文 IIS7配置PHP5.4报错对找不到的文件启用文件监视怎么解决? 案例环境:windows2008+IIS7+PHP5.4+ZEND LOADER用户在配置后遇到报错:错误摘要 HTTP 错误 ...
- Android动画设计源码地址
Android动画设计源码地址 http://blog.csdn.net/shanghaibao123/article/details/45223825
- php闭包实现函数的自调用,也是递归
php的闭包可能不常用,但是在某些场合之下还是可以考虑用php的闭包来实现某些功能的,比如递归,这里讲一下用php的闭包实现递归 //php闭包实现函数的自调用,也就是实现递归 function cl ...
- JVM最多能创建多少个线程:unabletocreatenewnativethread
最近需要测试一个长连接服务器,数据上需要达到100W的长连接,测试的客户端,一个线程保持一个连接,发现linux服务器默认创建到3200多个线程的时候,就会报错这个错误“java.lang.OutOf ...
- 一个iOS项目中包含多个xcodeproj文件,如何运行其中的一个项目
从GitHub上下载的Masonry的iOS源码,打开发现有多个项目,直接运行,模拟器没反应.由于Masonry是一个多工程的项目,每个项目都依赖Masonry的源码,所以要运行Masonry的Exa ...
- 解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题
解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 今天由于测试需要,在网上下载了Adventureworks2008实例数据库的BAK文件,进行还原时出现了这样的错误“F ...
- URL后面带\斜杠对SEO的影响
例如以下的两种URL书写方式: 1.www.baidu.com 2.www.baidu.com\ 这两种书写方式的区别到底在哪里呢?哪一个的速度更快呢?可能对于我们大多数人来说会觉得两个速度一样,因为 ...
- Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点
以下所介绍的安装方式都是在线安装方式,如果你需要连网请参考:Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案 环境: OS:Linux Ubunt ...
- 使用ScheduledExecutorService实现Timer
大家都说Timer不太好用,经常会遇到:如果前边的一个任务比较慢,超出了period,此时timer的下一次轮询也会延迟. 同事说ScheduleExecutorService可以避免该问题,我写个例 ...
- 使用pgstatspack分析PostgreSQL数据库性能
pgstatspack [root@test01 soft]# wget http://pgfoundry.org/frs/download.php/3151/pgstatspack_version_ ...