ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 HtmlHelper-超链接方法
一、@Html.ActionLink()概述
在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁。通过浏览器依然会解析成传统的a标签。除此之外,还允许我们添加Html属性。下面来看看@Html.ActionLink()的使用方法吧。
二、@Html.ActionLink()的使用详解
1. @Html.ActionLink("linkText", "actionName")
这种重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法(Action),默认控制器为当前页面对应的控制器。
例如,当前页面的控制器为ProductsController:@Html.ActionLink("detial", "Detial")会生成<a href="/Products/Detail">detail</a>
2. @Html.ActionLink("linkText", "actionName", "controllerName")
该重载比第一个重载多了一个参数,他指定了控制器的名称。
例如,@Html.ActionLink("detail", "Detail", "Products")会生成<a href="Products/Detail">detail</a>
3. @Html.ActionLink("linkText", "actionName", routeValues)
相对于上一种重载,该重载新增了routeValue参数,routeValue可以向action传递参数。
例如,@Html.ActionLink("detail", "Detail", new{ id = 1 })会生成<a href="Products/Detail/1">detail</a>
4. @Html.ActionLink("linkText", "actionName", routeValues, htmlAttributes)
htmlAttribute可以设置<a>标签的属性。
例如,@Html.ActionLink("detail", "Detail", new{ id = 1 }, new{ target = "_blank" })会生成<a href="Products/Detail/1" target="_blank">detail</a>,需要注意的是如果写成new{ target="_blank", class="className" }则会报错,因为Class是C#的关键字,此时应该写成@class="className"。
5. @Html.ActionLink("linkText", "actionName", "controllerName", routeValues, htmlAttributes)
该种重载汇聚了以上此种重载的所有参数,是功能最全的重载。
三、@Url.Action(),@Html.ActionLink(),Html.RenderAction()和@Html.Action()的区别
1. 返回值不同
- @Html.Action()返回值为MvcHtmlString。Html.Action比较灵活,可以直接写在页面上,也可以把它赋值给某一变量,处理之后写在页面上。
- Html.RenderAction()返回值为void。Html.RenderAction必须写在@{}内,直接由Response对象输出。例:@{ Html.RenderAction("Index", "Import");}
- @Html.ActionLink()返回值也是MvcHtmlString。
- @Url.Action()返回值为string。MvcHtmlString本质上也是string,两者都可以直接现在页面上。
2. 生成的东西不同
- @Html.ActionLink("myLink", "CCC", "Import")生成<a href="/Import/CCC">myLink</a>
- @Url.Action("CCC", "Import")直接生成字符串"/Import/CCC",没有任何tag标签。
3.Html.RouteLink 与 Url.RouteUrl
两者都是可以指定由哪一个路由来生成Url,其它与上面的ActionLInk,Action一样
4.Url.Content
将虚拟(相对)路径转换为应用程序绝对路径。
HtmlHelper用法大全(上)
https://blog.csdn.net/qq_33857502/article/details/79648610
HtmlHelper用法大全(下)
https://blog.csdn.net/qq_33857502/article/details/79648666
ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 HtmlHelper-超链接方法的更多相关文章
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图模板页
https://www.cnblogs.com/xlhblogs/archive/2013/06/09/3129449.html MVC Razor模板引擎 @RenderBody.@RenderPa ...
- ASP.NET MVC Razor视图引擎攻略
--引子 看下面一段MVC 2.0的代码. <%if (Model != null){%> <p><%=Model%></p><%}%>&l ...
- ASP.NET MVC——Razor视图引擎
Razor是MVC框架视图引擎,我们今天就来说一说Razor视图引擎. 首先还是来创建一个基础项目叫Razor来演示. 先来定义一个Model叫Product public class Product ...
- MVC Razor视图引擎
Razor 不是编程语言.它是服务器端标记语言. Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法 当网页被写入浏览器时,基于服务器的代码能够创建动 ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 动态数据的呈现
https://www.cnblogs.com/cynchanpin/p/7065098.html 在MVC3開始.视图数据能够通过ViewBag属性訪问.在MVC2中则是使用ViewData.MVC ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 Areas区域说明
https://www.cnblogs.com/webapi/p/5976642.html Asp.Net MVC Areas区域说明 一般网站分为前台+会员后台+管理员后台,做过webform的 ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2 视图引用资源
https://www.cnblogs.com/Roxlin/p/5615144.html 一.配置BundleConfig.cs文件 1.首先要在App_Start 里面BundleConfig.c ...
- ASP.NET WEB应用程序(.network4.5)MVC Razor视图引擎2
https://www.bbsmax.com/A/gAJG67OXzZ/ 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASP ...
- Asp.Net MVC Razor视图引擎与My97DatePicker插件的结合
using System; using System.Collections.Generic; using System.Runtime.CompilerServices; using System. ...
随机推荐
- "errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [d0tQ_02368635
微信报错,避免多处使用appid与secret发送求
- 单硬盘根分区扩容(非LVM)
单用户模式(内核参数末尾加single)救援模式(用光盘启动,选第三个,rescue installed system) 救援模式有什么作用: 1可以更改root密码:2恢复硬盘.文件系统操作:3系统 ...
- Angular 执行 css3 简单的动画
<div class="content"> 内容区域 <button (click)="showAside()">弹出侧边栏</b ...
- ColorMatrix图片饱和度设置
package com.loaderman.customviewdemo; import android.app.Activity; import android.graphics.Bitmap; i ...
- ASP如何将table导出EXCEL表格
网页导出excel表格非常常用,对于一些加载<table>的数据网页,经常会用到这种功能,下面和大家分享一下ASP如何导出EXCEL表格 工具/原料 ASP编辑器 方法/步骤 ...
- LeetCode_125. Valid Palindrome
125. Valid Palindrome Easy Given a string, determine if it is a palindrome, considering only alphanu ...
- LeetCode_107. Binary Tree Level Order Traversal II
107. Binary Tree Level Order Traversal II Easy Given a binary tree, return the bottom-up level order ...
- vmware安装密钥
VMware虚拟机已升级至14版本,之前的12版本的秘钥已经无法使用,在此分享一下VMware Workstation 14永久激活密钥: CG54H-D8D0H-H8DHY-C6X7X-N2KG6 ...
- EasyNetQ使用(六)【多态发布和订阅,消息版本控制】
你能够订阅一个接口,然后发布基于这个接口的实现. 让我们看下一个示例.我有一个接口IAnimal和两个实现Cat和Dog: public interface IAnimal { string Name ...
- pip3快速下载paddle
安装百度的paddle paddle时很慢,后来采用国内的源,速度嗖嗖滴 pip3 install -U paddlepaddle -i https://pypi.douban.com/simple/ ...