Ищем опытных мнений о том, как с этим бороться:
У нас есть страница с таблицей для ввода пользовательских данных.(Таблица ненавистников: это табличные данные, так что ...)
Каждый вход на странице предназначен для того, чтобы «скрыть» более сложную форму, отображаемую через диалоговое окно / всплывающее окно 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-приложение, предназначенное для быстрого ввода данных, так что разбить его на части не будет решением.
Есть какие-нибудь идеи относительно хороших методов борьбы с этим?