2011-09-26 29 views
0

我的形式鍵:提交表單問題。發佈的數據是一家集

Request.Form.AllKeys 
{string[9]} 
    [0]: "__RequestVerificationToken" 
    [1]: "stud.LastName[0]" 
    [2]: "stud.FirstName[0]" 
    [3]: "stud.Number[0]" 
    [4]: "stud.LastName[1]" 
    [5]: "stud.FirstName[1]" 
    [6]: "stud.Number[1]" 

他們都有價值。 我的行動看起來是這樣的:

 [ValidateAntiForgeryToken] 
     [HttpPost] 
     public ActionResult Add(Student[] stud) 

學生類有屬性:名字,姓氏,人數。

問題是stud是空的嗎? 不是爲了它提交的數據填充,o或不得不從的Request.Form

回答

0

你應該有這種價值的(注意改變的方式[]位置)

Request.Form.AllKeys 
{string[9]} 
    [0]: "__RequestVerificationToken" 
    [1]: "stud[0].LastName" 
    [2]: "stud[0].FirstName" 
    [3]: "stud[0].Number" 
    [4]: "stud[1].LastName" 
    [5]: "stud[1].FirstName" 
    [6]: "stud[1].Number" 

什麼不對您的看法是怎麼回事 - 產生的輸入(並提交時,表單值)沒有「[]」在thier名字正確的地方。查看關於模型綁定到列表的this article by Phil Haack

+0

哦,我的上帝,我是一個白癡。你是對的。 – gigi

1

取數據嘗試使用

[ValidateAntiForgeryToken] 
    [HttpPost] 
    public ActionResult Add(List<Student> students) 
+0

我得到空值agian – gigi

+0

這可能會幫助http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx – Apr