2010-03-29 2 views
3

Поздравления!Контроллер с неизвестным количеством параметров?

Я делаю форму на ASP.NET MVC 2, на мой взгляд, у меня есть TextBox для имени и две кнопки. Одна из кнопок предназначена для отправки, а другая имеет функцию в JS, которая добавляет другое текстовое поле и выпадающий список.

В методе действия постконтроллера, как мне получить все параметры? Вот View Code:

<body> 
    <div> 
     <%using (Html.BeginForm()) 
      { %> 
      New Insurance Type Name: 
      <%=Html.TextBox("InsuranceName") %> 
      <div id="InsuranceDetails"/> 
    </div> 
    <div id="Buttons"> 
     <input type="button" onclick="AddFieldForm()" value="Add Field" /> 
     <p /> 
     <input type="submit" value="Submit" /> 
     <%} %> 
    </div> 
</body> 

ответ

2

Вы можете просто использовать параметр сбора формы на контроллере и убедитесь, что генерируемые Textboxes имеют уникальные идентификаторы.

public ActionResult SomeMethod(FormCollection formValues) 
{ 
    foreach (string key in formValues) 
    {     
     if (key.ToLower().StartsWith("form-text-")) 
     {      
      //Do Something  
     } 
    } 
} 
+0

Большое спасибо. – StackPointer

0

Если вы имеете дело с произвольным числом элементов в форме посте, я хотел бы предложить, кодирующую пост на стороне клиента с JavaScript, так что вы на самом деле только отправив один элемент обратно на ваш контроллер. JSON кажется очевидным выбором.

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

+0

Но как мне это сделать, если я не знаю, сколько у меня предметов? Должен ли я дать им все четкие атрибуты? Спасибо. – StackPointer

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