ASP.NET Core Tag Helper A标签

A标签的属性名前缀为asp-

asp-controller

指定链接的控制器名

asp-action

指定动作名
如果指定了控制名,而没有指定动作名,则动作名是产生当前视图的动作名,如果没有控制器名,则默认的控制器是生成当前视图的控制器

asp-route-{value}

为Action传递参数 value可以替换为任意参数名
如果在路由映射中含有参数名,则生成的链接直接附带参数值

<a asp-controller="Speaker"
       asp-action="Detail" 
       asp-route-id="@Model.SpeakerId">SpeakerId: @Model.SpeakerId</a>
<a href="/Speaker/Detail/12">SpeakerId: 12</a>

否则

<a asp-controller="Speaker"
       asp-action="Detail"
       asp-route-speakerid="@Model.SpeakerId">SpeakerId: @Model.SpeakerId</a>

生成为

<a href="/Speaker/Detail?speakerid=12">SpeakerId: 12</a>

asp-route

用于直接链接到命名路由,不要和asp-controller和asp-action一起用
如 路由定义


[Route("/Speaker/Evaluations", 
       Name = "speakerevals")]
public IActionResult Evaluations() => View();
<a asp-route="speakerevals">Speaker Evaluations</a>

生成Html

<a href="/Speaker/Evaluations">Speaker Evaluations</a>

asp-all-route-data

用于给action传递多个参数
如参数值为

@{
var parms = new Dictionary<string, string>
            {
                { "speakerId", "11" },
                { "currentYear", "true" }
            };
}

<a asp-route="speakerevalscurrent"
   asp-all-route-data="parms">Speaker Evaluations</a>

生成的html

<a href="/Speaker/EvaluationsCurrent?speakerId=11&currentYear=true">Speaker Evaluations</a>

asp-fragment

用于添加锚点 #

<a asp-controller="Speaker"
   asp-action="Evaluations"
   asp-fragment="SpeakerEvaluations">Speaker Evaluations</a>
<a href="/Speaker/Evaluations#SpeakerEvaluations">Speaker Evaluations</a>

asp-area

用于指定area

asp-protocol

用于指定协议 如https

asp-host

用于指定域名

asp-page

用于Razor Pages ,用于链接到某个page
与asp-route, asp-controller, 和asp-action 冲突,不可同时使用,但可以和asp-route-{value}一起传递参数

<a asp-page="/Attendee"
   asp-route-attendeeid="10">View Attendee</a>

生成

<a href="/Attendee?attendeeid=10">View Attendee</a>

asp-page-handler

用于Razor Pages,来链接到某个handler
例:Handler

public void OnGetProfile(int attendeeId)
{
    ViewData["AttendeeId"] = attendeeId;

    // code omitted for brevity
}

将On和动作get去掉 ,如果以Async结尾,也要去掉

<a asp-page="/Attendee"
   asp-page-handler="Profile"
   asp-route-attendeeid="12">Attendee Profile</a>

生成

<a href="/Attendee?attendeeid=12&handler=Profile">Attendee Profile</a>

原地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值