shiva sanika Ответов: 6

Как скрыть параметр Url в ASP.Net MVC4 ?


Как скрыть параметр Url в ASP.Net MVC4 ?


Я работаю над этим Asp.Net MVC. когда я нажимаю ссылку действия, я перехожу на страницу UserDetails.cshtml, которая прекрасна, но Url-адрес выглядит следующим образом

localhost:8080//Admin/UserDetails/5.

я не хочу показывать идентификатор в URL я хочу чтобы URL когда я нажимаю actionlink был таким

localhost:8080//Admin/UserDetails/

есть предложения ??

Dharmesh .S. Patil

Невозможно делать то, что вы хотите. В этом случае, если вы хотите иметь возможность получить доступ к идентификатору с вашего контроллера, вы должны передать этот идентификатор как часть вашего URL - адреса-вы не можете получить доступ к чему-то, что не существует.

Philippe Mori

Вы можете каким-то образом скрыть его, используя фрейм или загружая контент с помощью javascript или используя скрытые поля, но у вас не будет поддержки для этого, и вы не сможете добавить закладку на страницу...

6 Ответов

Рейтинг:
37

Abhinav S

Вы не можете скрыть этот параметр.

Используйте POST вместо GET-вызовов для удаления параметров из url-адреса.
Вы все равно сможете увидеть этот параметр в сообщении запроса.

Единственный способ надежно скрыть этот параметр-зашифровать его.


Рейтинг:
2

F-ES Sitecore

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


Рейтинг:
2

Abhishek Prakash Dixit

Да,вы можете скрыть параметры...............


1) Вы должны написать один метод, чтобы получить эти параметры

public ActionResult GetId(int id=0)
{
TempData["id"] = id;
return RedirectToAction("UserDetails");
}


2) теперь используйте эти параметры в вашем методе UserDetails

public ActionResult UserDetails()
{
id=int.Parse(TempData["id"].toString());
}
3)и вместо вызова метода UserDetails в вашем представлении индекса вызовите GetId


alikipel

Если вы обновите страницу, что произойдет? друг
Ответ-bloww:)

Abhishek Prakash Dixit

У меня есть одно обновление для вас,если вы обновите свою страницу, значение tempdata будет сброшено, поэтому используйте сеанс вместо tempdata------

вместо
TempData["id"] = id;

использовать

Сессия["идентификатор"=идентификатор;

Рейтинг:
15

Abhishek Prakash Dixit

I have one update for you,if you refresh your page the tempdata value gets flushed hence use session instead of tempdata------

instead of
TempData["id"] = id;

use

Session["id"=id;




Спасибо


Рейтинг:
1

Deepak Kumar Gond

Привет Шива
вы должны реализовать концепцию укоренения URL - адреса, чтобы скрыть свой параметр URL-адреса.

Пожалуйста, найдите решение, чтобы перейти по ссылке ниже.


http://www.dotnetcurry.com/aspnet-mvc/814/routing-aspnet-mvc[^]


Рейтинг:
0

Abhishek Prakash Dixit

У меня есть одно обновление для вас,если вы обновите свою страницу, значение tempdata будет сброшено, поэтому используйте сеанс вместо tempdata------

вместо
TempData["id"] = id;

использовать

Сессия["идентификатор"=идентификатор;

Спасибо


[no name]

Сколько раз вы должны отвечать на один и тот же вопрос, на который уже ответили?