如何在url中传递多个参数

时间:2012-08-24 09:28:23

标签: asp.net-mvc visual-studio-2010

如何将多个参数从视图传递到url中的控制器。这是我的url,而options.parentId是一个参数。我需要传递多个值,如何将多个值从视图传递到url中的控制器。 (“/ ProjectRoles / project_module_functions_leftdisplay”,options.parentid)

1 个答案:

答案 0 :(得分:1)

您可以使用Url.Action帮助器:

@Url.Action("project_module_functions_leftdisplay", "ProjectRoles", new 
{ 
    parentid = options.parentid, 
    somethingelse = options.somethingelse 
})

或者如果您在操作链接中调用控制器:

@Html.ActionLink(
    "click me", 
    "project_module_functions_leftdisplay", 
    "ProjectRoles", 
    new { 
        parentid = options.parentid, 
        somethingelse = options.somethingelse 
    }, 
    null
)

或者如果您使用的是HTML <form>

@using (Html.BeginForm("project_module_functions_leftdisplay", "ProjectRoles", new { parentid = options.parentid, somethingelse = options.somethingelse }))
{
    ...
}

或者如果我误解了你的问题,options是一个javascript变量::

<script type="text/javascript">
    var options = ...
    var url = '@Url.Action("project_module_functions_leftdisplay", "ProjectRoles", new { parentid = "__parentid__", somethingelse = "__somethingelse__" })';
    url = url
        .replace('__parentid__', encodeURIComponent(options.parentid))
        .replace('__somethingelse__', encodeURIComponent(options.somethingelse));

    // ... use the url here
</script>

根据您的确切情况以及您想要实现的目标,可能还有其他更好的方法。