首页 > 解决方案 > 如何在不显示 URL 参数的情况下调用页面?

问题描述

我正在尝试修改一个项目,以便当您通过<a>元素访问路由和参数时,它们不会显示在 URL 中。

这是视图上的代码:

@Html.ActionLink("Edit", "EditSchedule", new { id = item.OID, iorDapa = item.IOR_HORARIO }) |
@Html.ActionLink("Delete", "DeleteSchedule", new { id = item.OID, iorDapa = item.IOR_HORARIO })

我试图通过调用这个来更改 RouteLink 的操作链接

 routes.MapRoute(
      name: "EditSchedule",
      url: "{controller}/{action}/{oid}_{iorDapa}",
      defaults: new { controller = "Users", action = "Index", oid = UrlParameter.Optional, iorDapa = UrlParameter.Optional }
 );

但是,这不起作用,因为它一直在使用已建立的 URL 创建链接元素,所以我认为还需要其他东西,也许是我不知道调用 api 的某种方法?

而且......从这里开始,我尝试了很多东西,但似乎都没有奏效。

从我使用过的其他项目(JS)中,我记得路由器调用了一个 API,而 API 又调用了一个控制器文件,并且该控制器执行了逻辑然后调用视图。

但是,使用这个 C# 项目,我无法让程序调用 WebApiConfig 文件或 RouteConfig,而无需实际显示 URL 上的参数。

对不起,如果我对自己的解释有点糟糕,我有点迷失了!

标签: c#asp.net-mvcasp.net-web-api

解决方案


来自 ActionLink 的数据将使用 GET 方法发送,调用数据将在浏览器地址栏中可见。要隐藏您发送的内容,请使用 POST 方法。例如,通过提交表单或使用 POST 数据向服务器发出 AJAX 调用来发布您的数据


推荐阅读