我想知道当用户输入以下网址时,如何使用ASP.Net MVC返回XML:
http://www.mysite.com/people.xml
如果用户输入http://www.mysite.com/people,则应呈现正常的html视图,显示数据库中的所有人,而如果他们添加.xml,则会获得包含数据库中所有人的xml。
37Signals的Highrise API以这种方式运作。我知道我可以使用XmlResult但是,如果用户没有在url的末尾指定.xml,我如何配置操作以返回普通视图?
答案 0 :(得分: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();
}
}