본문 바로가기

.NET/MVC.NET

XmlActionResult 만들어보기


XmlActionResult를 만들어 보겠습니다.

차례대로 따라해주세요 ^^^

1. 먼저 XmlActionResult 클래스를 생성합니다.
public class XmlActionResult<TEntity> : ActionResult where TEntity :class	
{
public TEntity Data { getset; }		
public override void ExecuteResult(ControllerContext context)
{
if (Data == null
{				
throw new Exception("Data는 Null일 수 없습니다.");			
}			
HttpContextBase contextBase = context.HttpContext;
contextBase.Response.Buffer = true;
contextBase.Response.Clear();
string fileName = String.Format("{0}.xml"DateTime.Now.ToString("yyyyMMddhhmmss"));
contextBase.Response.AddHeader("content-disposition"String.Format("attachment;filename={0}", fileName));
contextBase.Response.ContentType = "text/xml";
using (StringWriter writer = new StringWriter())
{
XmlSerializer serializer = new XmlSerializer(typeof(TEntity));
serializer.Serialize(writer, Data);
contextBase.Response.Write(writer);
}
}
}

 2. Action Method를 만듭니다.
public ActionResult Index()		
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
var test = Enumerable.Range(0, 100).ToList();
return new XmlActionResult<List<int>>()
{
Data = test
}


3.결과를 xml파일로 받아 보실수 있습니다.

참 쉽죠잉~~~