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 类似,也是在应用程序的不同地方可以重复利 ...
随机推荐
- django静态文件数据库设置
STATIC_URL = '/static/'STATICFILES_DIRS = ( os.path.join(BASE_DIR,'static')) DATABASES = { ...
- RDIFramework.NET平台代码生成器V2.8发布-更新于2014-12-31(提供下载)
RDIFramework.NET平台代码生成器V2.8发布 更新于2014-12-31 注:已经发布了新版本,请转新版本下载: RDIFramework.NET平台代码生成器V3.0版本全新发布-更 ...
- spring MVC配置详解
现在主流的Web MVC框架除了Struts这个主力 外,其次就是Spring MVC了,因此这也是作为一名程序员需要掌握的主流框架,框架选择多了,应对多变的需求和业务时,可实行的方案自然就多了.不过 ...
- [翻译] 为什么Uber的数据库从Postgres 切换到 MySql
Uber工程师团队发布了一个重要的博客文章:他们的数据库从Postgres从移动到MySQL.毫不夸张地说,阅读这篇文章是一种享受,特别是因为他们提到这些细节:磁盘格式和那对他们2个数据库的表现的影响 ...
- ANE 从入门到精通 --- 简单的Whatever
Flash还是很好的,不过国内没人用. Whatever了. 以下是ANE制作中的一点笔记 分享下 也留作备份 Step1 编写As3 Library package com.eran { impor ...
- oauth协议
微博 : 新浪 腾讯 OAuth 新浪微博 APP开发 步骤:1.注册新浪开发者账号 获取以下信息 client_id 123456 标示应用身份的 唯一的 有的也叫App Key sec ...
- linux vagrant visual box 虚拟机比较慢
提现在跑本地虚拟机开发环境很慢,直接影响工作效率,网上搜了,亲测可用. cite: http://leo108.com/pid-2072.asp 在 vagrantfile中加入 config ...
- 手机触摸touch事件
1.Touch事件简介 pc上的web页面鼠 标会产生onmousedown.onmouseup.onmouseout.onmouseover.onmousemove的事件,但是在移动终端如 ipho ...
- The method setCharacterEncoding(String) is undefined for the type HttpServletResponse 是什么原因?
response.setCharacterEncoding("gb2312"); 在Servlet2.3中是不行的,至少要2.4版本才可以,如果低于2.4版本,可以用如下办法: r ...
- Mssql Server如何修改列名
exec sp_rename '表明.原列名','新列名','column';