jeissoni22 Asked: 2020-02-20 12:22:03 +0800 CST 2020-02-20 12:22:03 +0800 CST 2020-02-20 12:22:03 +0800 CST 如何通过 MVC 中的 ActionLink 发送参数? 772 我有以下问题,我需要将视图中捕获的一些数据发送到控制器,但我找不到如何做到这一点。我正在做以下事情。 我需要发送的数据是3,会话中的用户ID,事件ID,以及要在事件中注册的人的ID。目前我只知道如何发送用户的ID进行注册,但我不知道如何为其他人做。我执行以下操作。 @Html.ActionLink("AsistenciaEvento", "Create", new { usu = item.numIdUsuario}) 我很感激任何建议 asp.net 1 Answers Voted Best Answer Davlio 2020-02-20T13:10:28+08:002020-02-20T13:10:28+08:00 扩展ActionLinkas 是一个重载方法,在确定、linkText和;时可能会导致一些问题。在您的情况下,只需要:actionNamerouteValueshtmlAttributes 看法 @Html.ActionLink("AsistenciaEvento", "Create", new { parametro1 = 1, parametro2 = 0, parametro3 = "1"}) 控制器 public ActionResult Create(int parametro1, int parametro2, string parametro3) { } 还有其他定义它的方法,您可以查看:如何从列表中传递项目的 Id 并将其传递给控制器?,因为您需要发送多个参数,所以您的问题不会被重复给出。 更新: 如评论中所述,ActionLink从服务器端调用时,它会在客户端生成一个 HTML 标记<a href=".."></a>。 例如: @Html.ActionLink("Texto Link", "MiAccion", "MiControlador", new { id = 123, tipo = "0" }, null) 产生: <a href="/MiControlador/MiAccion/123?tipo=0">Texto Link</a> 因此,如果您需要通过 url 发送表单值,那么您必须修改标签的 urla: 解决你的问题 在控制器中: public ActionResult MiAccion(int id, string tipo) { } 在表单中,我添加了一个元素,您将在其中将其值连接到 tag 的 url a。 <select id="cmbTipo"> <option value="1">1</option> <option value="2">2</option> </select> 使用 JQuery 来操作元素。 (function () { $('a').on('click', function (e) { var $a = $(this); var url = $a.prop('href').split("?")[0]; console.log(url); // http://localhost/MiControlador/MiAccion/1 var parametro = { tipo: $('#cmbTipo').val() }; console.log($.param(parametro)); // tipo=1 console.log(url + "?" + $.param(parametro)); // http://localhost/MiControlador/MiAccion/1?tipo=1 //e.preventDefault(); $a.prop('href', url + "?" + $.param(parametro)); }); })(); 附言 最后,您的问题确实是其他问题,与 ActionLink 无关
扩展
ActionLink
as 是一个重载方法,在确定、linkText
和;时可能会导致一些问题。在您的情况下,只需要:actionName
routeValues
htmlAttributes
看法
控制器
还有其他定义它的方法,您可以查看:如何从列表中传递项目的 Id 并将其传递给控制器?,因为您需要发送多个参数,所以您的问题不会被重复给出。
更新:
如评论中所述,
ActionLink
从服务器端调用时,它会在客户端生成一个 HTML 标记<a href=".."></a>
。例如:
产生:
因此,如果您需要通过 url 发送表单值,那么您必须修改标签的 url
a
:解决你的问题
在控制器中:
在表单中,我添加了一个元素,您将在其中将其值连接到 tag 的 url
a
。使用 JQuery 来操作元素。
附言 最后,您的问题确实是其他问题,与 ActionLink 无关