[英]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.