ASP.NET MVC Data Entry Несколько тегов формы или только один большой? - PullRequest
0 голосов
/ 04 ноября 2011

Ищем опытных мнений о том, как с этим бороться:

У нас есть страница с таблицей для ввода пользовательских данных.(Таблица ненавистников: это табличные данные, так что ...)

Каждый вход на странице предназначен для того, чтобы «скрыть» более сложную форму, отображаемую через диалоговое окно / всплывающее окно jQuery.Вся таблица помещается в один тег, который публикуется, когда пользователь нажимает кнопку «Отправить» в нижней части таблицы.Строки таблицы являются позициями в модели.

Модель, переданная методу контроллера, в основном

  public class MyBigModel {
    public List<LineItemModel> LineItems {get;set;}
    ...more stuff...
  }

  public class LineItemModel {
    public List<LineItemDetail> Details {get;set;}
  }

  public class LineItemDetail{
    public List<OtherDetails> SometimesIHaveDetailsToo {get;set;}
  }

Функционально, отправка всего .... работает нормально, но мытеперь меня просят разрешить людям отправлять отдельные строки и т. д.

В настоящее время для отправки отдельных строк я копирую (jQuery.clone ()) строку таблицы в другую форму, публикую ее иуничтожение клона.

Я рассмотрел вопрос о переходе полностью на подход типа «форма на строку», но не совсем уверен, как с этим справиться - могу ли я обернуть тег?Должен ли я?

В волшебной земле единорога можно ожидать такого рода вещи ...

< form>
  <table>
   < form> <tr with my data and a nice submit button /> </form>
   < form> < another tr with my data and another nice submit button /> </form>
  </table>

  <input type="submit">MyMasterSubmit</input>
 </form>

(надеясь, что это достаточно хорошо описывает проблему)

КакЯ упоминал, что данные, хранящиеся в каждой строке, на самом деле довольно сложны.Есть несколько элементов DIV, связанных с каждой позицией, которые должны быть включены в качестве всплывающих окон, поэтому я не уверен, что они могут быть в строке таблицы сами по себе, не вызывая проблем с разметкой.Это LOB-приложение, предназначенное для быстрого ввода данных, так что разбить его на части не будет решением.

Есть какие-нибудь идеи относительно хороших методов борьбы с этим?

1 Ответ

0 голосов
/ 04 ноября 2011

Как насчет сериализации только div (или некоторого окружающего тега 'row' для выбранной строки) и использования .ajax () на сервере. jQuery для сериализации только элементов внутри div

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