2013-07-04 5 views
3

Я знаю, как post список объектов в форме в ASP.NET, но предположим, что я хочу, чтобы post некоторые другие значения в одно и то же время?POSTing модель, содержащая список в 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

ты, сэр, герой. Разрушил мой мозг на этом. –

Смежные вопросы