получить массив текстового поля из asp.net MVC генерирует страницу - PullRequest
0 голосов
/ 07 сентября 2010

Моя проблема в том, что у меня есть динамический цикл, в котором я генерирую 5 текстовых полей, и теперь мне нужно получить данные каждого индекса, потому что я хочу отправить их в массив на контроллер.Кто-нибудь может сказать мне, как я получаю значения из массивов текстового поля.Все текстовые поля имеют одинаковые имена и идентификаторы, но имеют индекс.

Ответы [ 3 ]

0 голосов
/ 07 сентября 2010

Вы можете перебрать HttpContext.Request.Form.AllKeys в вашем контроллере как:

foreach(var key in HttpContext.Request.Form.AllKeys) {
    if(key.StartsWith("textboxname")) { // key will look like textboxname[1]
        // value is in
        var val = HttpContext.Request.Form[key];
    }
}
0 голосов
/ 07 сентября 2010

просто следуйте взломанному объяснению о привязке к коллекциям

и создайте ваши входные данные правильным способом, теперь необходимо дополнительно проанализировать его на стороне клиента

0 голосов
/ 07 сентября 2010

Во-первых, вы никогда не должны иметь несколько элементов с одинаковым идентификатором.Если хотите, все они могут иметь один и тот же класс.

ОБНОВЛЕНО для отражения уточненных требований.

Однако, чтобы решить вашу проблему, вы можете попробовать это:1007 *

$("#yourformID").bind("submit", function() {
   var groups = new Array();

   $("textarea").each(function(i, el) {
      name = $(el).attr("name");
      index = $(el).attr("index"); // Is 'index' an attr?
      if (groups[name] === undefined) {
         groups[name] = new Array();
      }
      groups[name][index] = $(el).val();
   });

   // You can now insert the array as the value of the submit button...
   $(this).find("input[type=submit]").val(groups);
   return true;
});

Я не уверен, что вы имели в виду под «индексом», но если это атрибут в текстовой области, то это должно приблизить вас.

Конечно, на сервересо стороны, вам нужно будет декомпозировать массив массивов, но в этот момент на каждый элемент должны быть легко ссылки по имени и индексу.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...