C# 如何将javascript变量传递给Url.Action?

C# 如何将javascript变量传递给Url.Action?,c#,asp.net-mvc,url.action,C#,Asp.net Mvc,Url.action,我正在使用MVC3.0,我只是想知道如何将javascript变量传递给Url.Action方法,这是一种服务器端方法 以下代码无法编译: string actionName = "MyAction"; string url = '@(Url.Action(' + actionName + '))'; 谢谢您所做的有一些缺陷,主要是@Url.Action在服务器上运行,而javascript在客户端上运行 如果要在客户端上生成url,则必须使用javascript自己生成,例如: var ur

我正在使用MVC3.0,我只是想知道如何将javascript变量传递给
Url.Action
方法,这是一种服务器端方法

以下代码无法编译:

string actionName = "MyAction";
string url = '@(Url.Action(' + actionName + '))';

谢谢

您所做的有一些缺陷,主要是@Url.Action在服务器上运行,而javascript在客户端上运行

如果要在客户端上生成url,则必须使用javascript自己生成,例如:

var url = '/home/' + actionName;

关于所问的问题,您的意思是不可能将客户端变量传递给Url.Action的服务器端代码?是的,这是不可能的。您必须在GET或POST请求中包含javascript参数,才能在服务器上访问该参数,这意味着在javascript执行后,您需要使用该值执行GET或POST,从而使页面刷新,以便可以在服务器上读取该值,与提交HTML表单时类似。您也可以使用ajax请求并通过javascript变量发送,然后让服务器返回url变量,然后在客户端对其执行任何操作。您的意思是这样的吗?这是一个非常好的有效问题,具有有效的答案/解决方案。为什么有些人投了反对票?!这也发生在我们所有人身上。不用担心