zoukankan      html  css  js  c++  java
  • @Html.ActionLink()

    一、@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标签。

    本文转自:https://www.cnblogs.com/yechangzhong-826217795/p/10980419.html

    学习Mark

  • 相关阅读:
    Python全栈开发之路 【第十八篇】:Ajax技术
    Python全栈开发之路 【第十七篇】:jQuery的位置属性、事件及案例
    Python全栈开发之路 【第十六篇】:jQuey的动画效果、属性操作、文档操作、input的value
    Burp Suite安装&环境配置&启动&浏览器设置代理
    git个人使用总结
    Windows下创建.gitgnore文件
    git个人使用总结(界面版)
    测试左移之代码评审
    Java自动内存管理机制
    【海盗派测试分析MFQ&PPDCS】读书笔记
  • 原文地址:https://www.cnblogs.com/YourDirection/p/12170251.html
Copyright © 2011-2022 走看看