在 JQuery 中使用多个参数调用 Url.Action
本文关键字:参数 调用 Url Action JQuery | 更新日期: 2023-09-27 18:36:19
>我正在尝试使用 Url.Action 调用控制器 c# 函数:
public ActionResult Setup(string ID, string Definition)
此函数位于控制器类 MachineController.cs 中,它返回一个 PartView。
因此,在我的脚本中,我尝试使用以下行调用函数"Setup":
var selected = $('#dropselector').find(':selected').text();
$.get('@Url.Action("Setup", "Machine", new { ID = @Model.ID , Definition = "_holder"})'.replace("_holder", selected), function (data) {
$('#MachineSetup').replaceWith(data);
});
似乎发生的情况是第一个参数 (ID) 传递没有问题,但第二个参数 (定义) 始终是空字符串。我什至尝试将"定义"分配给@Model.ID 与ID字段相同,因为它们都是字符串,但它似乎导致相同的结果,ID被填充,但定义是一个空字符串。
问题肯定与第二个参数的传递有关,有什么想法吗?
你可以尝试以下方法
var selected = $('#dropselector').find(':selected').text();
$.get(
'@Url.Action("Setup","Machine", new { ID = @Model.ID })',
{
data:{definition:selected}
} ,
function (data)
{
$('#MachineSetup').replaceWith(data);
});
因为 URL 将包含Model.ID
但所选的动态值将更改。
此外,如果您正在执行Setup
则不会考虑POST
操作以确保值未缓存在客户端计算机上。