繁体   English   中英

带有列表的ASP.NET MVC Html.ActionLink <string> 参数

[英]ASP.NET MVC Html.ActionLink with a List<string> parameter

如何将所有具有相同名称的参数列表传递给ActionLink 我正在使用默认路由。

我正在寻找类似以下内容的东西,但我知道匿名对象不能具有相同名称的键。 另外, RoutingValueDictionary不能具有相同名称的键。

 @Html.ActionLink("Link Name", "Index", "Home", new {key="val1", key="val2", ... }, null)

哪个链接到

localhost:8080/Home/Index?key=val1&key=val2& ...

如何创建此链接?

您将需要手动创建<a>标记

<a href="@Url.Action("Index", "Home")?key=val1&key=val2&key=val3">Link Name</a>

但是,从您的评论看来,您似乎想要传递复选框的值,在这种情况下,您可以将表格与FormMethod.Get一起FormMethod.Get

@using (Html.BeginForm("Index", "Home", FormMethod.Get)
{
  <input type="checkbox" name="key" value="val1" />
  <input type="checkbox" name="key" value="val2" />
  <input type="checkbox" name="key" value="val3" />
  <input type="submit" value="Save" />
}

会产生

.../Home/Index?key=val1&key=val3

假设您选中了第一和第三复选框

您不能传递键,键,键,键和键。 因为键=键! 而是传递一个列表。

建立模型

public class MyModel
{
    public List<string> Keys { get; set;}
}

在您的控制器中接受

public ActionResult LinkName(MyModel model)
{
    // stuff
}

从你的角度出发

@using (Html.Beginform("LinkName"))
{
    <input name="Keys[0]">
    <input name="Keys[1]">
    <input type="submit" value="submit">
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM