я следующий код в частичном виде:Скрытие значений параметров в ActionLink?
<li>@Html.ActionLink("Text", "ViewName", "ViewFolder", new { param = 0 }, null)</li>
Когда я наведите курсор мыши на ссылку, можно увидеть в браузере параметра используется
http://localhost:49781/ViewFolder/ViewName?param=0
Есть ли способ, чтобы скрыть это информация от пользователей? Я бы не хотел, чтобы они копировали и вставляли URL-адрес и начали вводить собственные значения параметра.
Причина, по которой я использую параметр, заключается в том, что моя Модель должна знать, какую хранимую процедуру выполнить. Существует 5 ссылок, которые будут использовать одну и ту же хранимую процедуру, единственная разница - передаваемый параметр.
Существует вероятность того, что в будущем некоторые пользователи не должны видеть определенные вещи ... но если все, что им нужно сделать, это изменить номер параметра, чтобы увидеть, что должно быть скрыто, что может быть проблемой.
Кроме того, я бы не хотел PARAMS отправки, которые потенциально могут «аварии» ничего
Заранее спасибо за вашу помощь!
вы можете зашифровать значение параметра, передавая его в @ HTML.ActionLink, и при принятии действия вы можете его расшифровать. поэтому пользователи будут видеть только нечитаемые значения, это может помочь http://stackoverflow.com/questions/165808/simple-two-way-encryption-for-c-sharp – Emil
Посмотрите на это: http://stackoverflow.com/ Вопросы/11488442/asp-net-mvc-3-how-to-force-a-actionlink-to-do-a-httppost-вместо-в-httpge – Bene
Не используйте этот подход. Решение здесь заключается не в том, чтобы запутать URL-адрес, он должен включать надлежащую авторизацию, которая запрещает людям выполнять те вещи, которые им не нужны. Просто «скрытие» параметра не остановит людей от использования этого URL-адреса. –