C# 使用多个参数在JQuery中调用Url.Action
我正在尝试使用Url.Action调用控制器c函数:C# 使用多个参数在JQuery中调用Url.Action,c#,jquery,C#,Jquery,我正在尝试使用Url.Action调用控制器c函数: public ActionResult Setup(string ID, string Definition) 此函数位于控制器类MachineController.cs中,它返回PartialView 因此,在我的脚本中,我尝试使用以下行调用函数“Setup”: var selected = $('#dropselector').find(':selected').text(); $.get('@Url.Action("Setup",
public ActionResult Setup(string ID, string Definition)
此函数位于控制器类MachineController.cs中,它返回PartialView
因此,在我的脚本中,我尝试使用以下行调用函数“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传递没有问题,但是第二个参数定义总是空字符串。我甚至尝试将'Definition'分配给@Model.ID,与ID字段相同,因为它们都是字符串,但结果似乎是相同的,ID被填充,但Definition是空字符串
这个问题肯定与第二个参数的传递有关,有什么想法吗?您可以尝试以下方法
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,但所选的动态值将更改
此外,如果你正在做一个安装程序,你不会考虑一个事后的动作来确保这些值没有被缓存在客户端机器上。
你是否试图在浏览器F12的调试器的工具中观看所选的变量?我认为在ReStayHyror附近有语法错误,被选中,…删除多余的逗号。是的,对不起,第二个逗号是一个拼写错误。谢谢。谢谢你的帮助,我发现如果我使用这种格式将两个参数都添加到数据字段中,并使用$.ajax而不是“get”或“post”,那么它就可以工作了!谢谢