zoukankan      html  css  js  c++  java
  • 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 StudentViewModel
    2     {
    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

  • 相关阅读:
    Common Element in Two Sorted Sets
    Nearest Points on a Plane
    Influencer Finder
    Range of Intervals
    *Common characters
    自定义栈 和装箱,拆箱
    1.Vector(同步)和ArrayList(异步)异同
    STL中的迭代器的使用
    如何优化limit?
    mysql五大引擎之间的区别和优劣之分
  • 原文地址:https://www.cnblogs.com/xuliang1992/p/5328105.html
Copyright © 2011-2022 走看看