2012-09-07 5 views
1

MVC 응용 프로그램에 매개 변수를 추가내가 기본보기를 가진 MVC 응용 프로그램을 가지고

응용 프로그램은 독립 응용 프로그램으로 사용되며 다른 응용 프로그램에서도 iframe에 사용됩니다 (src는 myapp.com/category입니다). iframe에 사용할 때 페이지 머리글을 표시하지 않으려면 어떻게해야합니까? querystring, myapp.com/category?show=false를 추가하고이를 iframe src로 설정하려고했지만 두 번째보기로 전환하면 매개 변수가 전달되지 않습니다.

답변

1

도우미 메서드를 만들어 표시 매개 변수를 그대로 유지할 수있는 URL을 생성 할 수 있습니다. 예를 들어 뷰에서 다음

public static string GetModifiedUrl(this UrlHelper helper, string url) 
{ 
    string qstring = helper.RequestContext.HttpContext.Request.QueryString["show"]; 
    if (!string.IsNullOrEmpty(qstring)) url += "?show=" + qstring; 
    return url; 
} 

: 예를 들어

<a href='@Url.GetModifiedUrl(Url.Action("Index", "Home"))'>Home</a> 

또 다른 옵션은 첫 번째 요청에 세션에 값을 추가 생성하고, 사용 대신. 즉,이 같은 컨트롤러에 약간의 논리를 넣어 :

var qs = Request.QueryString["show"]; 
if (!string.IsNullOrEmpty(qs)) 
{ 
    Session["show"] = qs; 
} 

는 그런 관점에서, 당신은 헤더를 보여 여부를 결정 @Session["show"] 대신 @Request.QueryString["show"]의를 사용합니다.

1

기본보기를 두 부분보기로 분리하십시오.

그런 다음 마스터/외부 앱을 호출 할 때 콘텐츠 만있는 부분보기를 호출하십시오.

일반 네이티브 앱을 호출 할 때 부분보기 (헤더 및 내용)가 모두 포함 된 VIEW를 호출하십시오.