Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用参数单击时转到控制器中的操作_C#_Jquery_Asp.net Mvc 3 - Fatal编程技术网

C# 使用参数单击时转到控制器中的操作

C# 使用参数单击时转到控制器中的操作,c#,jquery,asp.net-mvc-3,C#,Jquery,Asp.net Mvc 3,单击动态按钮时,我想转到控制器中的操作 $(".myButton").click(function () { var var1 = "test1" var var2 = "test2" var var3 = "test3"; location.href = '<%= Url.Action("Action","Controller") %>'; }); $(“.myButton”)。单击(函数(){ var var1=“test1” var var2

单击动态按钮时,我想转到控制器中的操作

$(".myButton").click(function () {
    var var1 = "test1"
    var var2 = "test2"
    var var3 = "test3";

    location.href = '<%= Url.Action("Action","Controller") %>';
});
$(“.myButton”)。单击(函数(){
var var1=“test1”
var var2=“test2”
var var3=“test3”;
location.href='';
});

这很好,但是如果我尝试将变量添加到操作中,一切都会变得很糟糕。

您混淆了作用域。无法将
客户端
javascript变量传递给
服务器端
执行,因此您可以为示例生成包含值的url:

var var1 = "test1"
var var2 = "test2"
var var3 = "test3";

location.href = '<%= Url.Action("Action", "Controller") %>?var1=' + var1 + '&var2=' + var2 + '&var3=' + var3;
public ActionResult Action(string var1, string var2, string var3)
{
   //....
}

您可以在生成URL时使用占位符值,然后使用
.replace()

将控制器设置为

public ActionResult Action(string p1, string p2, string p3)
{
}
JavaScript

var var1=“test1”
var var2=“test2”
var var3=“test3”;
var url='';
location.href=url.replace('-1',var1).replace('-2',var2).replace('-3',var3);

我完全混淆了我的范围,这非常有效。你现在是我心目中的英雄明天早上我会记下正确答案。
var var1 = "test1"
var var2 = "test2"
var var3 = "test3";

var url = '<%= Url.Action("Action","Controller", new { p1 = -1, p2 = -2, p3=-3  }) %>';
location.href = url.replace('-1',var1).replace('-2',var2).replace('-3',var3);