2009-05-22 4 views
1

이것은 MVC에 대한 일반적인 질문이지만이 경우 ASP.NET MVC를 사용하고 있습니다.HTML이 아닌 MVC 뷰 만들기

출력이 HTTP 액세스 XML 스트림 (콘텐츠 유형 text/xml) 인 애플리케이션을 만들어야합니다.

일반 ASP.NET을 사용하여 일반 처리기 개체를 사용하여이 작업을 수행 할 수 있습니다.

public void ProcessRequest(HttpContext context) 
{ 
    context.Response.ContentType = "text/xml"; 
    context.Response.Write(someXmlText); 
} 

같은 결과를 얻을 수있는 ASP.NET MVC보기를 만들 수 있습니까?

MVC 뷰를 적절하게 사용합니까?

답변

3

MvcContrib's XmlResult을 사용할 수 있습니다. 위의 예처럼 작동합니다. 뷰를 사용하여 XML을 렌더링 할 필요는 없습니다.

본질적으로 XML을 반환하는 컨트롤러에 대한 작업이 있습니다.

+0

당신은 MVC 소스 당신을 보면 그게 아주 간단하다는 것을 알게 될 것입니다. 당신이 원하는 것을 제공하기위한 actionresult를 만들었습니다. (방금 ImageThumbnailResult을했습니다.) –

+0

@ 리차드 네. –

+0

* 컨트롤러 *에 XML을 반환하는 작업이 있습니다. –

1

방금 ​​응답 내용 유형을 지정해야,보기없이 직접 반환 할 수 있습니다 :이 같은 조치 방법을 지정할 수 있습니다 예를 들어

:

XElement GetElements(param1,param2...) 
{ 
    XElement elements = new XElement("elements", 
           from c in element 
           select new XElement("element", 
                new XElement("Id",c.Id), 
                new XElement("Name",c.Name) 
                )); 


    this.ControllerContext.HttpContext.Response.ContentType = "application/xml"; 
    return elements; 
} 
관련 문제