在MVC3中,如何通过ActionLink将多个值传递给查询字符串参数?

时间:2013-01-21 15:04:07

标签: asp.net-mvc-3 url parameters query-string actionlink

在我的MVC3项目中,我有一个控制器“Test”,使用此方法进行索引操作

Function Index(fields() As String) As ViewResult
...

然后在View上我有一个多选下拉列表

@Html.ListBox("fields", New MultiSelectList(my_list, "Value", "Text")) 

并且一切正常,但是当我尝试创建一个Actionlink,在查询字符串中传递多个参数“fields”的值,就像这样

@Html.ActionLink("TestLink", "Index", New With {
         .fields = "value1&fields=value2"}) 

我在HTML源代码中使用查询字符串编码

获得以下断开的链接
<a href="/Test/Index?fields=value1%26fields%3Dvalue2">TestLink</a> 

如何通过ActionLink将多个值传递给查询字符串参数?

1 个答案:

答案 0 :(得分:0)

如果要通过从列表框中获取值来动态执行此操作,只需将列表框放在一个表单中,该表单的操作指向您要调用的控制器操作,然后使用提交按钮。 HTML将为您完成工作。

如果要生成ActionLink,可以使用以下命令:

@Html.ActionLink(
    "TestLink", 
    "Index", 
    New RouteValueDictionary() From { 
        { "fields[0]", "value1" }, 
        { "fields[1]", "value2" } 
    }
)
相关问题