.Net MVC中 视图如何使用路由!!!

news/2024/5/20 0:28:47 标签: c#, .netcore, mvc

配置路由

app.UseEndpoints(endpoints =>

{

    endpoints.MapControllerRoute(

        name: "default",

        pattern: "{controller=Home}/{action=Index}/{id?}");

});

在视图中使用路由

 页面跳转常用的路由设置

标签属性

描述

asp-action

指定控制器的action方法

asp-controller

指定控制器

asp-route-xxx

指定xxx片段值

asp-protocol

指定协议 (例如: https)

asp-host

指定服务器名称 (例如:baidu.com)

asp-fragment

指定锚点

asp-route-area

指定区域片段变量的值

完全约束住的URL

<a asp-action="Index" asp-controller="Home" asp-route-id="Hello"

    asp-protocol="https" asp-host="myserver.mydomain.com" asp-fragment="myFragment">

    完全约束住的URL

</a>

 

html源码显示:

<a href="https://myserver.mydomain.com/Home/Index/Hello#myFragment">

忽略片段

@*路由系统知道应用程序中的路由默认使用Index方法,所以生成的Html忽略了不必要的片段变量*@

<a asp-action="Index" asp-controller="Admin">跳转过Admin控制器的Index方法</a>

 

html源码显示:

<a href="/Admin">跳转过Admin控制器的Index方法</a>

定位操作方法

@*因为在控制器中使用了Route特性*@

<a asp-action="Index" asp-controller="Customer">跳转过Customer控制器的Index方法</a>

 

html源码显示:

<a href="/app/Customer/actions/Index">跳转过Customer控制器的Index方法</a>

 

为什么会这样?因为控制器使用了Route特性:

[Route("app/[controller]/actions/[action]/{id:weekday?}")]

public class CustomerController : Controller

{

}

非链接的URL:标签助手

<p>URL:@Url.Action("CustomVariable","Home",new{id=100})</p>

 

html源码显示:

<p>URL:/home/customvariable/100/</p>

命名路由

Startup配置路由:

endpoints.MapControllerRoute(

    name: "out",

    pattern: "outbound/{controller=Home}/{action=Index}");

 

视图使用:

<a asp-route="out">匹配路由列表中nameout的路由</a>

 

html源码显示:

<a href="/outbound">匹配路由列表中name为out的路由</a>

 


http://www.niftyadmin.cn/n/234272.html

相关文章

three.js之自定义一个正方体(网格)

本节主要通过自定义顶点和平面的方式&#xff0c;创造一个立方体。真正的开始走近three.js。 效果图 坐标系 坐标系支持右手定则。图中红色是x轴&#xff0c;绿色是y轴&#xff0c;蓝色是z轴 源码 引入的插件js【本人的csdn也有下载资源&#xff0c;如果打不开git可以在csd…

Nginx的优化,安全与防盗链

1.Nginx的页面优化 1.1 Nginx的网页压缩 在Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能。进行相关的配置修改&#xff0c;就能实现Nginx页面的压缩&#xff0c;达到节约带宽&#xff0c;提升用户访问速度 vim /usr/local/nginx/conf/nginx.conf http { ..…

css补充内容

1.最好给body设置min-width,防止缩小页面时出现空白 2.让图片随着网页缩小而缩小 3.html5语义化元素 4.video与audio video是行内替换元素 默认是第一帧静态画面,需要手动调整画面大小和添加播放条,是否自动播放 大多数浏览器不支持自动播放,除非设置为muted,这是为了用户的…

C语言初阶--连用scanf(以%c读取时)遇到的问题

目录前言总结前言 在我们写程序的过程中&#xff0c;会频繁使用scanf函数&#xff0c;当在一个程序中scanf用多了&#xff0c;会出现输入不了的问题&#xff01;大家有没有想过是什么原因导致的该问题呢&#xff1f;下面我们一起探讨一下吧&#xff01; 遇到问题的例子&#…

「线性DP-步入」最大子串和

最大子串和 题目描述 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 样例 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&…

网络攻击与防御

1.什么是数据认证&#xff0c;有什么作用&#xff0c;有哪些实现的技术手段? 数字认证证书它是以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证&#xff0c;确保网上传递信息的安全性、完整性。 使用了数字证书&#xff0c;即使您发送的…

开源社与 Dev.Together 2022

思否与开源社携手11>2在 2023 年的春天&#xff0c;开源社走进了 Dev.Together 2022 的会场&#xff0c;一时间有种时空错觉。2022 年本该举办的开源聚会因为不可抗力的因素被延期&#xff0c;感谢思否一直坚持的理念&#xff1a;Dev.Together Summit 只做线下&#xff0c;将…

Linux 、Android将在汽车舞台上开战

导读在 CES 2017 上&#xff0c;AGL 宣布&#xff0c;Mercedes-Benz 的母公司 Daimler 正式加入。这是第十家汽车制造商加入 AGL&#xff0c;也是第一家德国公司加入 AGL。AGL&#xff08;Automotive Grade Linux&#xff09;&#xff0c;是 Linux 基金会的一个相互协作的开源组…