ASP.NET MVC Html.ActionLink 带有 List 参数
本文关键字:string 参数 List 带有 NET MVC Html ActionLink ASP | 更新日期: 2023-09-27 18:32:44
如何将参数列表传递给具有相同名称的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
@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">
}