использование скрытых полей хорошая идея?(ASP.NET, C #) - PullRequest
1 голос
/ 06 апреля 2011

В приложении я извлекаю некоторые данные из базы данных, которые будут использоваться несколькими методами.Является ли хорошей идеей записывать данные в скрытые поля при первом отрисовке или мне следует заново отрисовывать данные при необходимости?

Ответы [ 7 ]

3 голосов
/ 06 апреля 2011

Зависит от того, что вы пытаетесь сохранить или удерживаете.

  • Защита

    Если данные нуждаются в большей безопасности, не сохраняйте их в скрытых полях.

  • размер

    Если данные малы, то их прекрасное скрытое поле неэффективно.

2 голосов
/ 06 апреля 2011

Это зависит от того, что это за данные и как вы собираетесь их использовать.

Что это за данные?

Если это данные, которые должныбыть защищенным, таким как PHI или другое, никогда не храните это таким образом.Используйте состояние сеанса.В противном случае перейдите к следующему вопросу ниже.

Где вы будете его использовать?

Если он используется в коде позади, используйте viewstate или состояние сеанса.Если вы планируете использовать его с помощью jquery или javascript, и его не нужно защищать, скрытое поле подойдет.

1 голос
/ 06 апреля 2011

Я говорю, что это зависит от вашей потребности в безопасности.Помните, что скрытые поля на стороне клиента и, следовательно, могут редактироваться конечным пользователем.

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

0 голосов
/ 06 апреля 2011

Обычно хорошей идеей является наличие единственного источника правды, «мастера» для ваших данных.Теперь вы можете захотеть реплицировать эти данные из соображений производительности, но пока вам это не нужно, вы не должны.

0 голосов
/ 06 апреля 2011

Скрытое поле означает, что вы отправляете эти данные клиенту, и клиент загружает данные обратно вам при отправке.Это может быть проблема безопасности или производительности. Но все зависит от вашего сценария.

Вы можете использовать Сеанс

Или Кэширование

0 голосов
/ 06 апреля 2011

Это зависит, я полагаю, от нескольких факторов, которые включают, но не ограничиваются:

  • Как часто данные меняются?
  • Как часто вам нужно будет обращаться к БД, если вы всегда получаете данные заново?
  • Насколько конфиденциальны извлекаемые данные?
  • Сколько данных извлекается?
  • Ну и так далее ...

По большей части решение принимается исключительно в зависимости от обстоятельств; и мы не обязательно имеем косвенную информацию.

0 голосов
/ 06 апреля 2011

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

...