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 类似,也是在应用程序的不同地方可以重复利 ...
随机推荐
- 基于XMPP协议(openfire服务器)的消息推送实现
转自:http://blog.csdn.net/nomousewch/article/details/8088277 最近好像有不少朋友关注Android客户端消息推送的实现,我在之前的项目中用到过J ...
- LightOj 1215 - Finding LCM(求LCM(x, y)=L中的 y )
题目链接:http://lightoj.com/volume_showproblem.php?problem=1215 题意:已知三个数a b c 的最小公倍数是 L ,现在告诉你 a b L 求最 ...
- 友善p35屏
友善p35 屏,x轴方向从左往右移(0——>320),Y轴方向从上往下开始(0——>240)
- 笔记本自带 WiFi 功能
在寝室,动网速基本崩溃.平时打电话什么的都得到阳台,有时候还听不清声音.对于学校的环境,我不说什么了. 笔记本可以上网,那就要满足手机等移动电子设备上网的上网需求. WiFi 热点就显得尤为重要了. ...
- Java多线程编程——进阶篇一
一.线程栈模型与线程的变量 要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型. 线程栈是指某一时刻内存中线程调度的栈信息,当前调用的方法总是位于栈顶.线程栈的内容是随着程序的运行动态变化的, ...
- C++ 学习笔记(2) —— float 和 double 的精度
Size Range Precision 4 bytes ±1.18 x 10-38 to ±3.4 x 1038 6-9 significant digits, typically 7 8 byte ...
- [Zend]设置ZendStudio编辑器配色
首先,菜单栏–help–install new software… 接着,添加一个更新源,就是点击界面的add按钮,在新窗口的location位置输入http://eclipse-color-them ...
- [CrunchBang]tint2默认设置
#--------------------------------------------- # TINT2 CONFIG FILE #-------------------------------- ...
- AppleWatch___学习笔记(一)开发思路和框架
一.开发须知 如果你没有开发过 iphone,直接来做watch,我建议你不要这么做,不是不可以,而是目前所有的第三方应用都必须基于iphone的扩展,原生的watch应用,苹果目前还没有开放给开发者 ...
- Oracle 流复制实践笔记
最近因为业务需求,需要在两个数据库之间做双向实时同步,遂实践了一把Oracle的流复制,遇到了很多疑难问题,最终也貌似成功,现记录如下. 我是使用OEM来实现流复制的. 10.进行流复制的两个数据库的 ...