2009-11-23 4 views
0

저는 ASP.NET MVC 1.0을 사용하는 클라이언트 용 웹 사이트를 개발하고 있습니다. 프로필에 관련된 많은 링크가있는 "프로필 페이지"가 ​​있습니다. 예를 들어, "연락처 요청", "우리의 diretions보기", "친구로 추가"등jquery 모달 플러그인에 컨텐츠로드 : iFrame 또는 Ajax?

많은 jquery 모달 스크립트 중 하나를 사용하여 정상적으로로드하지 않고이 링크를 표시하고 싶습니다. 페이지/링크는 링크가 각각의 특정 페이지를 만들만한 가치가없는 작은 기능이기 때문입니다.

그래서이 작은 피쳐의 내용을 프로필 페이지에로드하려면 모달 플러그인을 사용하고 싶습니다.

좋아, 질문은 : 어떻게해야합니까? iFrame을 사용하여 컨텐츠를로드하거나 Ajax를 통해 컨텐츠를로드 할 수 있습니다.

iFrame을 사용하는 경우 모든 페이지 구조 (html, heade, body 등 ..)가있는보기가 필요하지만 Ajax 요청이있는 경우에는 내 양식을 사용하여로드해야합니다. 다른 div에, 또는 Google지도, 또는 무엇이든간에.

iFrame 또는 Ajax와 함께 가야합니까? 가장 좋은 방법은 무엇입니까?

감사

답변

0

난 당신이 Thickbox을 사용하고 있다고 가정한다.

나는이 페이지들 각각에 대한 전용보기를 선호하지만 iframe을 사용하지 않습니다. 어느 쪽이든, 프리젠 테이션 레이어에 대한 작업을해야 할 것입니다.

나는 AJAX 요청을 위해 특별히 만들어진 별도의보기에서 부분적인 것을 얻을 것이다.

+0

Thickbox와는 더 이상 유지 :이 경우에 편리하게 다른 것은 당신이 두 컨트롤러의 경우 (활성화되지 JS 활성 /의 JS)를 처리 할 수있는 방법입니다. jQueryUI에는 매우 유연한 대화 상자가 있습니다. 예를 들어 http://jqueryui.com/demos/dialog/#modal –

+0

이 작업은 유지 보수가 필요합니까? 내 말은 .. 만약 그것이 효과가 있다면 ... –

0

나는 FancyBox http://fancybox.net/home을보고 있었는데 꽤 멋지다. 다음과 같이 할 것입니다 :

Ajax.RenderPartial을 사용하여 내용을로드하고 빈 DIV를 채 웁니다. JS가 사용 중지되면 일반보기로 링크 한 다음 일반 프로세스를 따릅니다.

다른 유용한 팁들이 있습니까?

0

Ajax.RenderPartial을 사용하여 콘텐츠를로드하고 빈 DIV를 채울 것입니다. JS가 사용 중지 된 경우 일반보기로 연결 한 다음 정상 프로세스를 따른다.

나는이 방법과 마찬가지로 RenderPartial을 AJAX에서 제공 한 콘텐츠에 대해 우아하게 사용한다고 생각합니다. IFrame은 악의적 인 우선 순위 때문에 피해야하는 항목입니다.

public ActionResult Action() 
{ 
    if (Request.IsAjaxRequest()) 
    { 
     //This one just have the explicit content 
     return View("PartialView"); 
    } 
    else 
    { 
     //This one is a view that reference the partial View 
     return View("CompleteView"); 
    } 
}