Альтернативы скрытым полям в MVC2 - PullRequest
2 голосов
/ 22 декабря 2010

У меня есть viewModel, которая содержит строку, которая заполняется перед передачей в частичное представление. Мне нужно иметь возможность вернуть данные, когда форма будет опубликована. На данный момент я создал скрытое поле и привязал к нему данные. Затем при отправке обратно я могу получить данные из коллекции форм.

Это не совсем то, что я хотел бы. Я бы предпочел, чтобы данные были полностью скрыты от глаз. Использование сессий на самом деле не вариант для фреймворка, которого я должен придерживаться.

Есть ли альтернатива, которую я могу использовать?

Спасибо

Ответы [ 2 ]

3 голосов
/ 22 декабря 2010

Здесь необходимо немного пояснить: важно ли то, что данные не видимы для пользователя или что они не доступны ?

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

Если вы хотите сделать его недоступным , вы можете либо скрыть его (например, зашифровать, либо зашифровать) и все равно сохранить его в скрытом поле (или в cookie, как указано выше), но зная, что поскольку вы все еще предоставляете пользователю некоторую часть информации, доступ к данным не является полностью невозможным.

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

1 голос
/ 22 декабря 2010

Оставьте его без состояния

Если это вообще возможно , оставьте ваши запросы полностью без состояния Я бы не стал хранить данные в сессии.Я бы лучше зашифровал / замаскировал данные и поместил их в скрытое поле / cookie, чем представлял состояние.Это усложнит вам жизнь позже.Поверьте мне.

Можете ли вы объяснить немного больше, почему вам нужно сохранить это состояние?

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