Почему существует databind () для gridview asp.net? - PullRequest
1 голос
/ 05 марта 2010

Почему существует необходимость явного вызова GridView.DataBind () для визуализации вида сетки. Почему он не будет автоматически отображаться, как это происходит в оконных формах?

Ответы [ 2 ]

4 голосов
/ 05 марта 2010

Простая причина в том, что сайты ASP.NET не сохраняют состояния.

В Windows Forms ваша коллекция может храниться в памяти, а в ASP.NET это не так. Коллекция должна быть перестроена из поста обратно в пост обратно.

GridView отличается от Интернета тем, как он обрабатывает операции удаления, редактирования, которые не могут напрямую изменить коллекцию и сохранить ее в базе данных. Обычно разработчик должен выполнять эту работу, а не полагаться на то, что она выполняется автоматически.

1 голос
/ 05 марта 2010

Простое правило: веб-приложения и приложения-победители не поддерживают состояние. Вот почему у нас есть переменные кэширования / сессии / куки в веб-приложениях. Если бы вы могли поддерживать состояние, вам не пришлось бы обрабатывать значения кэширования / сеанса, которые могут вам понадобиться на всем вашем сайте. Вам также не придется проверять постбэки и т. Д.

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

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