2009-12-21 2 views
1

그래서, 나는 다음과 같은 페이지가 있습니다 alt text http://img704.imageshack.us/img704/5973/croppercapture3.pngASP.NET MVC의 컨트롤러 동작을 기반으로 내 페이지에서 변수를 설정할 수있는 방법은 무엇입니까?

이 내 기본 메시징받은 편지함입니다. 나는 지금 2 페이지를 가지고 있으며,받은 편지함과 보낸 편지함이있다. 이것들은 모두 동일한 View를 공유하며 적절한 데이터를 채우기위한 2 가지 다른 조치가 있습니다.

오른쪽의 요소 (메시지 목록)는 두 개의 컨트롤러 동작 인 Inbox (int? page) 및 Sent (int? Page)를 기반으로 데이터가 채워진 부분 뷰입니다.

그래서 하나의보기 "MessageView"와 하나의 부분보기 "MessageList"가받은 편지함/보낸 편지함간에 공유됩니다.

그러나 이제 Ajax를 사용하여 화살표 버튼 ("<" ">)을 작동시켜야합니다. jQuery ajax를 호출하는 방법을 잘 알고 있고, 부분 호출을 리턴하는 액션 호출의 결과를 렌더링하는 방법을 알고있다.

문제는 이러한 매김 아약스 호출하는 자바 스크립트 두 가지를 알 필요가 있다는 사실에서 온다 :

  • 현재 페이지가 무엇 (이 수 여부/메시지 /받은 편지함 또는/메시지/전송)
  • 현재 페이지가 무엇입니까 (예 : 검색어 문자열, 즉/messages/inbox? page = 2).

내가 어떤 페이지 (받은 편지함 또는 보낸 편지)인지 알지 못하면 어떤 URL로 아약스 전화를 걸지 알지 못합니다./messages/inbox 또는/messages/postback으로 다시 게시해야합니까?

이러한 메시지가 Ajax로로드되지 않으면 "<"및 ">"버튼의 링크 태그에 해당 URL을로드하는 것만 큼 간단합니다. 그러나 필자의 요구 사항 중 일부는 새 페이지로 눈에 띄지 않게 새로 고침하지 않고 아래 메시지를로드해야한다고 명시했기 때문에 그렇게 할 수 없습니다.

답변

1

JavaScript에서 window.location.pathname을 확인하면 현재 페이지의 URL 경로명 섹션을 확인할 수 있습니다.

window.location.search은 쿼리 문자열을 제공합니다.

0

사용자가받은 편지함 또는 보낸 단추를 클릭하면 올바른 위치를 가리 키도록 화살표로 URL을 다시 작성해야합니다.

+0

화살표를 클릭하면 링크를 따르지 않습니다. 아래 메시지를로드하려면 jquery ajax 호출을 만들고 있습니다. 그렇다면 어떻게 URL을 다시 작성하면 도움이됩니까? – KingNestor

+0

또한 www.mysite.com/messages/sent로 여행하는 경우 어떻게됩니까? javascript는 이제 보낸 페이지가 직접로드되었음을 알아야합니다. 사용자가 메뉴에서 "보낸"을 클릭하지 않았기 때문입니다. – KingNestor

+0

그러면 대신에 onclick 이벤트를 다시 작성할 수 있습니다. {doMyAjaxCall (e.data.box, e.data.page);})'$ { 'nextArrow'}. bind ('클릭', {상자 : myBox, 페이지 : myPage}, 함수 – Jacob

관련 문제