Я думаю, вы поняли правильную идею.Проблема в том, как вы делаете вставки с сеткой, и, к сожалению, она не поставляется с шаблоном вставки.Самый простой способ сделать это - просто поместить элементы управления вставкой на панель и показать элементы управления, когда они нажимают кнопку «Добавить элемент».
Вы можете использовать вид сетки для вставки, добавив элементы управления вставкой в шаблоны элементов нижнего колонтитула, но вам придется самостоятельно обрабатывать скрытие и отображение строки нижнего колонтитула.Кроме того, строка нижнего колонтитула не будет отображаться, если вы привязываетесь к пустому набору данных, поэтому вам нужно заполнить gridview фиктивной записью или чем-то, чтобы нижний колонтитул отображался, когда нет элементов, поэтому есть несколько обручей для прыжка, хотя, но если вы Google, вы должны найти несколько примеров.Вот тот, который выглядит действительным: http://www.aspdotnetfaq.com/Faq/How-to-insert-row-in-GridView-with-SqlDataSource.aspx
Есть и другие элементы управления, которые вы можете использовать, такие как подробный просмотр и просмотр формы, но, честно говоря, я никогда не буду их использовать, потому что к тому времени, когда вы добавите сложность, такую как транзакции и пользовательские проверки и всечто это может быть больно, и я думаю, что проще всего обработать весь код вручную для редактирования и вставки, если это не очень простая ситуация.Они хороши своей способностью автоматически генерировать поля и метки из схемы базы данных, поэтому они могут быть полезны.
Так что, по крайней мере, я использую сетку для просмотра, а иногда и для редактирования, но редко для вставки, и я редко использую встроенное обновление с двухсторонним связыванием данных.Обычно, если я редактирую в виде сетки, я просто использую кнопку редактирования, чтобы захватить индекс элемента редактирования, и беру ключ с аргументом команды или griddatakeys и сам обрабатываю код обновления.Не сказать, что это лучший способ, просто так я чаще всего это делаю.