簡體   English   中英

如何使后動作接受數組參數?

[英]How to make post action accept array parameters?

我有一個表格,其中有一堆動態生成的復選框。 像這樣:

<input type="checkbox" name="Foo[]" value="1"/> Bar
<input type="checkbox" name="Foo[]" value="2"/> Baz
<input type="checkbox" name="Foo[]" value="2"/> Bay

我的模型中有一個int[] Foo屬性,我希望它會被這些復選框中的數據填充,但是它的值始終為null(無論是否選中任何復選框)。 因為失敗了,所以我只是將int[] Foo作為普通的舊參數添加到操作中,只是因為這不是由模型引起的,但是Foo仍然為空。

我檢查了瀏覽器對我的帖子要說些什么,但是復選框中的值在那里(如果我當然選中的話)。

Foo [] = 1 Foo [] = 2 Foo [] = 3

作為最后的選擇,我將FormCollection form添加到動作參數中,並且可以看到Foo[]實際上出現在表單數據中。

那么我在這里做錯了嗎? 如何使一個動作接受數組查詢參數?

我得到了啟發(休息片刻時喝了些茶)。 FormCollection form該參數稱為Foo[]而不是Foo的事實導致了問題的根源。 過去,我唯一的一次做這種表格是在我從事PHP項目時。 命名復選框輸入Foo[]是在PHP中執行此操作的正確方法(我認為)。 事實證明,如果我想在MVC中做同樣的事情,我必須省略[] ,它將起作用。

簡而言之,對於我的MVC應用程序,我的輸入應如下所示:

<input type="checkbox" name="Foo" value="1"/> Bar
<input type="checkbox" name="Foo" value="2"/> Baz
<input type="checkbox" name="Foo" value="2"/> Bay

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM