簡體   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