0

我想知道当用户输入以下网址时,如何使用 ASP.Net MVC 返回 XML:

http://www.mysite.com/people.xml

如果用户输入http://www.mysite.com/people正常的 html 视图应该呈现显示数据库中的所有人员,而如果他们添加 .xml 他们将获得包含数据库中所有人员的 xml。

37Signals 的 Highrise API 就是这样工作的。我知道我可以使用 XmlResult 但是,如果用户未在 url 末尾指定 .xml,我将如何配置操作以返回正常视图?

4

1 回答 1

0

如果我理解你的问题是正确的,我认为你可以这样解决你的问题:

public class HomeController : Controller{

    public ActionResult Index(string filename){

        if(filename != null){
            string ext = // parse the filename and get the extension
            /*
                can't test, but I think 
                System.IO.Path.GetExtension(filename);
                should work
            */

            if(ext == "xml"){
                //  do stuff

                return new XmlResult(/* filepath or something */);
            }

        }

        //  do stuff

        //  return the view you want if no filename or not a xml extension
        return View();
    }

}
于 2012-12-05T09:55:10.483 回答