码迷,mamicode.com
首页 > 其他好文 > 详细

ActionResult

时间:2014-12-17 18:01:55      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:blog   http   ar   io   sp   on   div   log   bs   

MVC 中有许多自定义的 ActionResult,

 

自定义 ActionResult 的方法是继承 ActionResult,如下例:

public class XmlResult : ActionResult
{
    // Properties
    public XDocument Data { get; set; }
    public bool Rss { get; set; }

    public XmlResult(XDocument data, bool rss = false)
    {
        Data = data;
        Rss = rss;
    }

    public XmlResult(string data, bool rss = false)
    {
        Data = XDocument.Parse(data);
        Rss = rss;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        if (context == null)
        {
            throw new ArgumentNullException("context");
        }
        if (string.IsNullOrEmpty(Data.Declaration.Encoding))
        {
            Data.Declaration.Encoding = Encoding.UTF8.WebName; //Default encoding
        }
        HttpResponseBase response = context.HttpContext.Response;
        response.ClearContent();

        response.ContentType = Rss ? "application/rss+xml" : "application/xml";
        response.ContentEncoding = Encoding.GetEncoding(Data.Declaration.Encoding);

        if (Data != null)
        {
            Data.Save(response.OutputStream);
        }
        response.Flush();
        response.End();
    }
}

  

ActionResult

标签:blog   http   ar   io   sp   on   div   log   bs   

原文地址:http://www.cnblogs.com/pengzhong/p/ActionResult.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!