2009-06-29 2 views
4

주로 모바일 브라우저를 대상으로하는 ASP.NET MVC 응용 프로그램을 구축 할 계획입니다. 데스크톱을 더 적은 용량으로도 타겟팅 할 수 있습니다. (나는 MVC와 모바일 앱 모두에 상당히 익숙하다.)브라우저 유형을 ASP.NET 모바일 MVC 애플리케이션에서 분리해야하는 위치는 무엇입니까?

MVC 애플리케이션에서 모바일 사용자와 데스크톱 사용자를 분리하는 가장 좋은 방법은 무엇일까?

컨트롤러가 브라우저 유형을 확인해야합니까? 또는이 유형의 기능을보기에 예약해야합니까?

보기에서 확인한 경우 &을 masterpage가 확인해야합니까? 온라인에서 좋은 예를 알고 있습니까?

업데이트 : 사용할 Master 페이지를 지정하는 문자열 인수를 허용하는 View 메서드의 오버로드를 발견했습니다. 예를 들어

:

public ActionResult Index() 
{  
    if (isMobile()) 
     return View("Index", "Mobile", myObject); 
    else 
     return View("Index", myObject); 
} 

는 나에게이 마이크로 소프트 팀에 최소한 몇 명 (모바일 대 데스크톱 등)의 주요 차이는 컨트롤러에서 수행 할 것으로 기대 제안합니다. (이것에 대해 매우 혼란 스러울 수 있습니다.)

답변

1

저는 컨트롤러가 distint 언어로 많은 뷰를 얻을 수 있기 때문에 plataform을 알아야한다고 생각합니다. 브라우저 (모바일)에 대한 일부보기는 데스크톱 응용 프로그램의 다른보기이고 다른보기는 웹 서비스가 될 수 있으며 모든보기는 다른 필요를 가지고있다.

Index(string typeOfApp){ 
//prepare data, do querys, etc 
if (typeOfApp=='Mobile'){ 
redirectoAction('IndexMobile',ds); 
//or 
return view('IndexMobile',ds) 
} 
return View('IndexDesktop',ds); 
} 

IndexMobile(DataSet ds){} 

IndexDesktop(DataSet ds){} 

당신이 얻을 수 :

지수 (모바일)와 지수 (바탕 화면)이 같은 : 당신은 몇 전망이있는 경우

, 당신은보기의 유형을 표시하는 매개 변수를 사용하여 뷰를 호출 할 수 있습니다 액션에 대한 일반적인 방법() 및 모든 유형의 또 다른 액션, 색인 -

그리고이 모든 방법에서> Index4Mobile & Index4Browser & Index4Desktop

준비하거나 특별한 FO 무언가를 (plataform의 경우 1).

0

코드 렌더링을 다루는 코드는 CSS와 자바 스크립트를 통해 페이지 자체에 존재해야합니다. 귀하의 컨트롤러는 귀하의 데이터가 스크린 상에 렌더링되는 방법에 대해 아무것도 알지 못합니다. 뷰는 실제로 그것에 대해서도 알지 못합니다. CSS는 렌더링 할 데이터 만 공개합니다.

HTML보기는 사용자의 데이터와 그 구성 방법을 설명합니다. CSS만이 렌더링하는 장치가 무엇이든 적절하게 보이게하는 방법을 알아야합니다.

link, chock으로 가득 차있는 javascript가 실행중인 모바일 브라우저를 확인하는 데 도움이됩니다.

+0

브라우저가 데스크톱 인 경우 확장 기능이 추가 될 수 있습니다 (추가 옵션 등). 자바 스크립트에 대한 직업처럼 보이지 않습니다. – Feckmore

+0

대부분의 모바일 브라우저가 js를 지원하지 않기 때문에 js로 모바일 브라우저를 감지하는 것이 좋습니다. WURFL을 사용해보십시오. ui는 CSS 및 js뿐만 아니라 이미지 크기도 조정해야합니다. 데스크탑과 모바일 사용자는 서로 다른 필요성을 가지고 있다고 생각합니다. – fravelgue

+0

좋은 점 - 데스크톱과 모바일 클라이언트 모두에게 서비스를 제공하려면 각기 동일한 중간 계층에 액세스하는 두 가지 앱이 필요합니다. –

관련 문제