Есть документ, в котором есть word/excel табличка.
Самое ценное в табличке — ее оформление :) И оформление принципиально.
Нужно в эту табличку поместить данные из IEnumerable, причем эта word/excel табличка должна изменять число строк под IEnumerable.Count, сохраняя оформление на основе шаблона (высота строки, границы, цвет и подобное).
В общем-то вопросов нет, просто делюсь сценарием, который, в статье не описывается :)
Комментарий веб-студии, которую вы тут пинаете.
У них нету аккаунта на хабре — попросили меня дать эту ссылку здесь.
Дословная цитата из новостей с их сайта:
Касательно статьи «Хранение личных данных на примере сайта ГИБДД Челябинской области» на сайте habrahabr.ru
Обращаем внимание интернет-общественности, что факты «дырявости и кривизны», изложенные в статье «Хранение личных данных на примере сайта ГИБДД Челябинской области» (ссылка на хабру) не имеют отношения к разработанному компанией Lab.NET сайту ГИБДД Челябинской области (gibdd74.ru). Изложенные в статье вопиющие факты безалаберного отношения к безопасности и процессам разработки и тестирования программных продуктов относятся к ресурсу по адресу 109.233.211.147:8080, к которому наша компания не имеем никакого отношения.
Со своей стороны мы постараемся как можно скорее обратить внимание руководства ГИБДД Челябинской области на допущенные при разработке приведенного ресурса ошибки.
Способ не совсем мой, это — Phil Haack (перевод), но хотелось бы отметить, что при применении Any делается sql-запрос exists вместо count(*), что на больших БД и при сложных запросах тоже может оказаться очень полезно (СУБД внутри тоже проходит по элементам, чтобы их посчитать, и не всегда на это есть индексы).
С IQueryable вообще всегда приходится быть внимательным к мелочам.
В исходниках MVC Framework 2 можно посмотреть, что DefaultModelBinder использует для коллекции индексов IEnumerable`string (а не int), и этот список получается в GetIndexes, которая имеет две ветки, где вариант с нумерацией используется только в том случае, если не удался более продвинутый: с поиском индексов в post-запросе.
Пример из топика можно модифицировать, добавив дополнительный hidden для каждого Ownerships, который будет иметь имя Ownerships.index (одинаковый для всех) и содержать уникальный индекс — хоть произвольное число, хоть guid. И не нужно заботиться о разрывах в нумерации.
Специально проверил на Вашем примере — работает:
<%= Html.Hidden(«Ownerships.index», «abcdef»)%>
Name: <%= Html.TextBox(«Ownerships[abcdef].Name»)%>
Price: <%= Html.TextBox(«Ownerships[abcdef].Price»)%>
Есть документ, в котором есть word/excel табличка.
Самое ценное в табличке — ее оформление :) И оформление принципиально.
Нужно в эту табличку поместить данные из IEnumerable, причем эта word/excel табличка должна изменять число строк под IEnumerable.Count, сохраняя оформление на основе шаблона (высота строки, границы, цвет и подобное).
В общем-то вопросов нет, просто делюсь сценарием, который, в статье не описывается :)
У них нету аккаунта на хабре — попросили меня дать эту ссылку здесь.
Дословная цитата из новостей с их сайта:
С IQueryable вообще всегда приходится быть внимательным к мелочам.
У меня 5.0.375.86 — попробуйте зайти на сайт из зоны.рф, на который еще ни разу не заходили — снова увидите страницу поиска с этим же вопросом.
Пример из топика можно модифицировать, добавив дополнительный hidden для каждого Ownerships, который будет иметь имя Ownerships.index (одинаковый для всех) и содержать уникальный индекс — хоть произвольное число, хоть guid. И не нужно заботиться о разрывах в нумерации.
Специально проверил на Вашем примере — работает:
<%= Html.Hidden(«Ownerships.index», «abcdef»)%>
Name: <%= Html.TextBox(«Ownerships[abcdef].Name»)%>
Price: <%= Html.TextBox(«Ownerships[abcdef].Price»)%>
<%= Html.Hidden(«Ownerships.index», «suygauyg»)%>
Name: <%= Html.TextBox(«Ownerships[suygauyg].Name»)%>
Price: <%= Html.TextBox(«Ownerships[suygauyg].Price»)%>
…