页面上加超链是基本操作啦,例如跳转到Home控制器下的SpecialRoute,一般我们常用的就是
<a href="/Home/SpecialRoute">我是超链接</a>
比较原始,也最常见。
但是MVC中,也提供了别的方法
@Html.ActionLink("MVC提供超链接", "SpecialRoute", "Home");
第一次参数是超链接文本,第二个是Action名称,第三个是控制器名称,如果当前视图对应的控制器和要跳转的是同一个控制器,就不用写,这个ActionLink方法有很多重载,如果要传参的话,可以匿名传。
@Html.ActionLink("MVC提供超链接", "SpecialRoute", "Home",new { id=Model.Id});
在Core中,又提供了新的方法,Tag Helpers
首先在Views文件夹下添加一个Razor视图导入文件,名字就用默认的,这个文件的作用类似与导入吧。
在文件中加上这一句,* 表明 引用Microsoft.AspNetCore.Mvc.TagHelpers中的所有Tag Helper
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
在Index视图上这么使用
<a asp-action="SpecialRoute" asp-route-id="@Model.Id">TagHelper超链接</a>
a标签属性输入 asp-后就有智能提示,可以指定action和controller,同一个controller可以不指定,参数就用 asp-route-xx指定。