当前位置: 代码迷 >> VC/MFC >> MVC学习系列——ActionResult扩张
  详细解决方案

MVC学习系列——ActionResult扩张

热度:186   发布时间:2016-05-02 03:16:06.0
MVC学习系列——ActionResult扩展

         首先,MVC扩展性非常强。

         我从ActionResult扩展入手,因为我们知道微软ActionResult和其子类,有时候并不能满足所有返回值。

比如:我需要返回XML。

因此,现在我扩展XMLResult,继承ActionResult。

第一步:新建XmlResult

 1 public class XmlResult:ActionResult 2     { 3         private object _data; 4  5         public XmlResult(object data) 6         { 7             this._data = data; 8         } 9         public override void ExecuteResult(ControllerContext context)10         {11             var serializer = new XmlSerializer(_data.GetType());12             var reponse = context.HttpContext.Response;13             reponse.ContentType = "text/xml";14             serializer.Serialize(reponse.Output, _data);15         }16     }

第二步:为了演示,新建StudentViewModel类

1 public class StudentViewModel2     {3         public string ID { get; set; }4         public string Name { get; set; }5         public string Gender { get; set; }6     }

第三步:在HomeController,增加GetXmlResult

1  public XmlResult GetXmlResult()2         {3             StudentViewModel viewModel = new StudentViewModel();4             viewModel.ID = "1";5             viewModel.Name ="Zhangsan";6             viewModel.Gender = "Man";7 8             return new XmlResult(viewModel);9         }

第四步:测试
在IE输入Home/GetXmlResult

 

  相关解决方案