Предоставление состояния на стороне сервера через элементы управления на стороне клиента в ASP.net

Надеюсь, это не лишний вопрос - я не совсем уверен, как это сформулировать. Допустим, у меня есть список элементов на странице ASP.net. Этот список выбирается тем, что всякий раз, когда пользователь нажимает на него, страница выполняет обратную передачу, а код сервера сохраняет индекс или некоторый уникальный идентификатор изображения в свойстве ViewState, указывающем, что оно выбрано в данный момент.

Я хотел бы свести к минимуму нагрузку на сервер и, следовательно, я хотел бы сохранить индекс или уникальный идентификатор, представляющий изображение каким-либо образом на стороне клиента. Лучший способ сделать это - сохранить указанную информацию в скрытом поле), однако у меня было два вопроса по этому поводу, прежде чем я сойду с ума:

  1. Является ли это угрозой безопасности каким-либо образом, формой или формой (то есть, раскрывая детали реализации страницы)?

  2. Есть ли лучший / лучший способ сделать это более отраслевым стандартом? Предоставляет ли ASP.net платформу для этого, которая чище моей идеи? Похоже, это было бы довольно распространенным требованием для меня...

Я работаю в ASP.net около двух лет. Пожалуйста, будьте добры:-)

Бест, Патрик Козуб

1 ответ

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

    ПРИМЕЧАНИЕ. Если сервер когда-либо что-либо делает с этой информацией и извлекает ее у пользователя, необходимо проверить значение индекса. В противном случае пользователь может изменить его на недопустимый индекс, например (-2), и вызвать исключение.

  2. Вы можете сохранить индекс (или связанное значение) в глобальной переменной javascript. Если вы избегаете поездки обратно на сервер, .NET на самом деле не играет никакой роли.

Другие вопросы по тегам