XmlActionResult를 만들어 보겠습니다.
차례대로 따라해주세요 ^^^
1. 먼저 XmlActionResult 클래스를 생성합니다.
public class XmlActionResult<TEntity> : ActionResult where TEntity :class
{
public TEntity Data { get; set; }
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파일로 받아 보실수 있습니다.
참 쉽죠잉~~~