• Html.ActionLink


    以下使用参数文字说明:

    1. linkText:生成的链接所显示的文字         类型:string
    2. actionName:对应控制器的方法          类型:string
    3. routeValues:向对应的action传递的参数     类型:object 或 RouteValueDictionary
    4. controlName:指定控制器的名称          类型:string
    5. htmlAttributes:设置<a>标签的属性                   类型:object 或 IDictionary
    6. protocol:指定访问协议如:http等        类型:string
    7. hostName:指定访问域名            类型:string
    8. fragment:指定访问锚点             类型:string

     

    重载一:Html.ActionLink("linkText","actionName")【默认当前页面控制器】

    调用:<%: Html.ActionLink("默认当前页面控制器", "About")%>

    生成效果:<a href="/Home/About">默认当前页面控制器</a>

    重载二:Html.ActionLink("linkText","actionName",routeValues)

    调用:

      routeValues Is object:

      <%: Html.ActionLink("默认当前页面控制器", "About", new { id = 1, type = "Dic" })%>

      routeValues Is RouteValueDictionary:

      <%RouteValueDictionary Dictionary = new RouteValueDictionary();
      Dictionary["id"] = 1;
      Dictionary["type"] = "Dic";
      %>

      <%: Html.ActionLink("默认当前页面控制器", "About", Dictionary)%>

    生成效果:<a href="/Home/About?classid=1">默认当前页面控制器</a>

    重载三:Html.ActionLink("linkText","actionName","controlName")

    调用:<%: Html.ActionLink("默认当前页面控制器", "About", "Home")%>

    生成效果:<a href="/Home/About">默认当前页面控制器</a>

    重载四:Html.ActionLink("linkText","actionName",routeValues,htmlAttributes)

    调用:

      htmlAttributes Is object:

      <%: Html.ActionLink("首页", "Index", "Home", null, new { @class = "active", target = "_blank" })%>【注:由于class是保留关键字,所以一定要写成@class

      htmlAttributes Is IDictionary:

      <%IDictionary<string, object> AttrDictionary = new Dictionary<string, object>();

      AttrDictionary["class"] = "active";

      AttrDictionary["target"] = "_blank";
      %>

    生成效果:<a class="active" href="/" target="_blank">首页</a>

    重载五:Html.ActionLink("linkText","actionName","controlName","protocol","hostName","fragment",routeValues,htmlAttributes)

    调用:<%: Html.ActionLink("关于我们", "About", "Home", "http", "localhost", "top", null, null)%>

    生成效果:<a href="http://localhost:12120/Home/About#top">关于我们</a>

    以上的重载并非.NET中的重载,纯属为了方便查看、比较.

         另外有几个问题没有找到答案

        1、重载五 中的调用,怎么把端口去掉;也就是生成的效果不显示端口例如:http://www.cnblogs.com/Relict/

        2、怎么在生成的链接中添加标签、和生成图片链接

     附:

    关于System.Web.Mvc.dll中LinkExtensions类的ActionLink重载

     

    NET技术交流
  • 相关阅读:
    configuring tortoise git and vs code.
    introcuding less css with less.js, using webcompiler ext
    CSS3 auto revolution practitioner!
    我与 美国作家 21天精通C++ 作者 Rao的对话:
    AngularJs Test demo &front end MVVM implementation conjecture and argue.
    GreenPlum完全安装_GP5.11.3完整安装
    hdfs文件写入kafka集群
    Greenplum主备节点切换
    Greenplum客户端访问控制
    Greenplum+mybatis问题解析
  • 原文地址:https://www.cnblogs.com/Relict/p/2473340.html
Copyright © 2020-2023  润新知