http://localhost:49397/ChildCare/SponsorChild/83
어떻게 MVC4에서 URL의 매개 변수를 숨기기
이 내가 테이블에 액션 링크를 클릭 액션을 편집하는 리디렉션, 지금 난에 숫자 '83'을 숨기기 할 때 생성되는 링크입니다 내가이 acheive 수있는 방법 URL, 내가 VS2010 MVc4 면도기를 사용하고
, 내 나쁜 engllish에 대한 죄송 사전
http://localhost:49397/ChildCare/SponsorChild/83
어떻게 MVC4에서 URL의 매개 변수를 숨기기
이 내가 테이블에 액션 링크를 클릭 액션을 편집하는 리디렉션, 지금 난에 숫자 '83'을 숨기기 할 때 생성되는 링크입니다 내가이 acheive 수있는 방법 URL, 내가 VS2010 MVc4 면도기를 사용하고
, 내 나쁜 engllish에 대한 죄송 사전
당신이 링크 작업하는 경우에 덕분에, 링크는 서버에 GET
요청에 의해 보내 매개 변수는 URL에 있습니다.
<a href="my/url" data-id="83> link </a>
: 예를 들어, 매개 변수가
data-id="83"
같은
data
속성을해야하고 우편으로 데이터를 전송하는 양식을 작성하고, 속성
data-x
로 태그
input
을 만드는 것 -
1 : 당신은 두 가지 옵션이있을 수 있습니다
다음 형태로 만들 필요가 자바 스크립트와 : jQuery('form').submit()
<form method="POST" action="my/url">
<input value="83 name="id" type="hidden" />
</form>
및 JS 양식 이벤트를 실행
html로에게 : 점 하나 How to encrypt and decrypt data in MVC?
편집
예 : -
2 컨트롤러에서 매개 변수를 가져 해독 한 후 암호화 할 수 있습니다
<div id="container-generic-form" style="display:none;">
<form action="" method="POST"></form>
</div>
<a href="my/url" data-id="83" data-other="blue" class="link-method-post">my link</a>
JS를 :
를$(function() { // document ready
var controlAnchorClickPost = function(event) {
event.preventDefault(); // the default action of the event will not be triggered
var data = $(this).data(),
form = $('#container-generic-form').find('form');
for(var i in data) {
var input = $('<input />', {
type: 'hidden',
name: i
}).val(data[i]);
input.appendTo(form);
}
form.submit();
};
$('a.link-method-post').on('click', controlAnchorClickPost); //jquery 1.7
});
012 3,516,
답장을 보내 주셔서 감사합니다, 주어진 링크에서 답변을 찾았습니다. 나는 data- attributes.i를 사용하는 방법이 없습니다. Encoding.UTF8.GetBytes()는 인코딩, 디코딩 방법을 사용합니다. 다시 한 번 감사합니다 – Gowtham
@ user2032722 포인트 1에 대한 예제를 설명했습니다 –
우리는 그 다음 로컬 매개 변수 저장을 소요하고 Session 또는 Cache 또는 무엇이든에서 매개 변수를 읽어 곳 RestoreSavedSessionValidation
를 호출
public ActionResult RestoreSavedSession(string id)
{
Session["RestoreSavedSession"] = id;
return RedirectToAction("RestoreSavedSessionValidation");
}
public ActionResult RestoreSavedSessionValidation()
{
return View("RestoreSavedSessionValidation");
}
당신은
RestoreSavedSession
충돌 변수를 숨길 같은 두 페이지를 사용합니다.
이것은 멋지고 간단한 해결책입니다. –
검은 마법 사용 – Kowser
빠른 답장을 보내 주셔서 감사합니다. – Gowtham
POST 대신 GET을 사용하십시오. – David