1
Url.Action("actionName","ControllerName",new { extraData = getdata()});

getdata() 是一个 javascript 函数,我想像这样使用它

public ActionResult actionName(string extraData)
{
*/ bla /*
}

有没有人有任何想法?

4

1 回答 1

1

Javascript 是客户端,C# 是服务器端,所以这行不通。看起来您正在使用 MVC,那么为什么不为这种情况创建一个路由呢?然后可以在客户端使用 javascript 操作 url,并且您的服务器代码保持不变。

routes.MapRoute(
    "newRoute", // Route name
    "NewRoute/{extraData}", // URL with parameters
    new
        {
            controller = "ControllerName",
            action = "ActionName",
            extraData = string.Empty
        }
    );

然后在客户端上,您可能会有如下链接:

<a id="myLink" href="about:blank">My Link</a>

您可以根据需要使用您的 javascript 来操作此链接:

document.getElementById("myLink").href = "/NewRoute/" + getData();

我不得不在这里做出很多假设,所以如果这不能回答你的问题,那么你可能需要添加更多关于你想要做什么的细节。

于 2013-04-24T13:49:29.567 回答