我想在url.action中调用javascript函数作为ASP.Net MVC中的参数?

时间:2013-04-24 13:12:37

标签: javascript asp.net-mvc parameters

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

getdata()是一个javascript函数,我想像

一样使用它
public ActionResult actionName(string extraData)
{
*/ bla /*
}

有人有想法吗?

1 个答案:

答案 0 :(得分: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();

我必须在这里做出许多假设,所以如果这不能回答你的问题,那么你可能需要添加一些关于你想要做的事情的更多细节。