2013-07-04 123 views
3

我知道如何將post列表中的對象列表轉換爲ASP.NET中的表單,但是假設我想要post其他一些值同時發生?在MVC/ASP.NET中發佈包含列表的模型

有沒有辦法有一個形式,這樣

<form method="POST" action="test"> 
    <input type="text" name="name" value="Roryok" /> 
    <input type="text" name="email" value="[email protected]" /> 
    <input type="text" name="[0].hobby" value="dibbling" /> 
    <input type="text" name="[0].level" value="amateur" /> 
    <input type="text" name="[0].hobby" value="fargling" /> 
    <input type="text" name="[0].level" value="intermediate" /> 
    <input type="text" name="[2].hobby" value="garbling" /> 
    <input type="text" name="[2].level" value="expert" /> 
</form> 

郵政,看起來像這樣的方法?

[HttpPost] 
public ActionResult test(MyViewModel model){ 
    /// do some stuff with the model here 
    return View(); 
} 

public class MyViewModel{ 
    public string name { get; set; } 
    public string email { get; set; } 
    public List<Hobby> hobbies { get; set; } 
} 

public class Hobby{ 
    public string hobby { get; set; } 
    public string level { get; set; } 
} 

回答

5

試試這個:

<form method="POST" action="test"> 
    <input type="text" name="name" value="Roryok" /> 
    <input type="text" name="email" value="[email protected]" /> 
    <input type="text" name="hobbies[0].hobby" value="dibbling" /> 
    <input type="text" name="hobbies[0].level" value="amateur" /> 
    <input type="text" name="hobbies[1].hobby" value="fargling" /> 
    <input type="text" name="hobbies[1].level" value="intermediate" /> 
    <input type="text" name="hobbies[2].hobby" value="garbling" /> 
    <input type="text" name="hobbies[2].level" value="expert" /> 
</form> 
+0

的作品!我非常接近 – roryok

+0

你,先生,是英雄。在這方面正在打破我的大腦。 –

相關問題