2011-03-25 5 views
0

누구나 asp.net mvc perticular보기에 대한 내보내기 기능을 수행하는 방법을 알고 계십니까? XML 형식으로 내보내기 데이터를 원합니다. 미리 감사드립니다.asp.net mvc에서 xml로 내보내기

답변

0

실제보기가 아닌 데이터 만 내보내려는 것으로 가정합니다.

보기에서 사용하는 것과 동일한 매개 변수를 받아들이고 객체를 직렬화 한 다음 결과 xml을 반환하는 메소드를 컨트롤러에서 만듭니다.

using System.Xml; 
    using System.Xml.Serialization; 

MSDN serializer documentation

더 단순한 대답은

+0

덕분에 많이 !!!!!!!!!를 – pooja

3

나는 사용자 지정 작업을 사용하는 것과 masterpage에 대한 호출하지 않고 뷰를 만들고 거기에 XML을 공예 및 기타 영문 페이지로 취급하는 것입니다 결과 :

public class XmlResult : ActionResult 
{ 
    private readonly object _data; 
    public XmlResult(object data) 
    { 
     _data = data; 
    } 

    public override void ExecuteResult(ControllerContext context) 
    { 
     if (_data != null) 
     { 
      var response = context.HttpContext.Response; 
      response.ContentType = "text/xml"; 
      var serializer = new XmlSerializer(_data.GetType()); 
      serializer.Serialize(response.OutputStream, _data); 
     } 
    } 
} 

다음 당신은 당신의 데이터를 표현하는 뷰 모델을 정의 할 수 있습니다 :

,
public class MyViewModel 
{ 
    [XmlElement("product")] 
    public ProductViewModel[] Products { get; set; } 
} 

public class ProductViewModel 
{ 
    [XmlAttribute("id")] 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

및 컨트롤러 액션에서이 뷰 모델 반환 :

public ActionResult Export() 
{ 
    var model = new MyViewModel 
    { 
     Products = new[] 
     { 
      new ProductViewModel { Id = 1, Name = "item 1" }, 
      new ProductViewModel { Id = 2, Name = "item 2" }, 
      new ProductViewModel { Id = 3, Name = "item 3" }, 
     } 
    }; 
    return new XmlResult(model); 
} 
+0

안녕하세요. 도움을 많이 주셔서 감사합니다. 도움이 될 것입니다. – pooja