zoukankan      html  css  js  c++  java
  • Html.Action、html.ActionLink与Url.Action的区别

    1.html.ActionLink返回的指向指定controller、指定action的超链接标签<a>标签.如果没有指定controller,则默认为本页面对应的Controller.

    如@Html.ActionLink(“链接文本”、“someaction”、“somecontroller”,new { id = " 123 " },null)
    生成:
    < a href = " / somecontroller / someaction / 123 " >链接文本</a>

    2、Html.Action可以执行一个控制器的action,并将返回结果作为html string。

    3.Url.Action返回的是指定控制器指定action的完整URL地址,不含<a>标签

    用法:

    <form name="form1" action="<%:Url.Action("Reply","LatestJoinCompany") %>" method="post">

    <a href="<%:Url.Action("SelectDetail","OutBox",new{letterid=m.LetterID}) %>"><%=m.LetterTitle %></a>

    说明:

    <%:Url.Action("SelectDetail","OutBox",new{letterid=m.LetterID}) %>

    返回/OutBox/SelectDetail?letterid=m.LetterID

    Html.Action返回值为MvcHtmlString

    Html.RenderAction返回值为void

    因此注定了它们的行为是不同的。

    Html.RenderAction必须写在@{}内,直接有Response对象输出。

    Html.Action也可以直接写在界面上,也可把该值赋值给某一变量,处理后在写页面上。

    Html.Action更灵活一点。

    @{ Html.RenderAction("Index", "Import");}

    @Html.Action("Index", "Import")

    @Html.ActionLink返回值也是MvcHtmlString

    @Url.Action返回值也是string

    MvcHtmlString 本质上也就是string,两者都可以直接写在页面上。

    @Html.ActionLink("mylink"," CCC ", "Import")

    @Url.Action("CCC", "Import")

    不同点在于Html.ActionLink会生成<a href="/Import/CCC">mylink</a>,带<a>标签,而Url.Action直接生成的是string。没有任何tag标签。

    注意:Action指定为Index的时候,ASP.NET会省略。

  • 相关阅读:
    MP4文件格式
    ASP.net 学习路线(详细)
    H.264开源解码器评测
    H264编码 封装成MP4格式 视频流 RTP封包
    MP4介绍与基本AVC编码(x264)教程
    创建一个简单的WCF程序
    VUE 从零开始 学习笔记 一
    关于阿里云短信接口的使用
    对Ul下的li标签执行点击事件——如何获取你所点击的标签
    二逼程序员与苦逼程序员
  • 原文地址:https://www.cnblogs.com/cb521413/p/10392935.html
Copyright © 2011-2022 走看看