Trong Ruby on Rails bạn có thể viết một hành động điều khiển đơn giản như:Có tương đương với Ruby on Rails 'respond_to format.xml, vv trong ASP.Net MVC không?
def index
@movies = Movies.find(:all)
respond_to do |format|
format.html #index.html.erb
format.xml { render :xml => @movies }
format.json { render :json => @movies }
end
end
Đối với những người không quen với RoR, def index
trong trường hợp này sẽ tương đương với public ActionResult Index()
trong một điều khiển ASP.Net MVC và sẽ cho phép cuộc gọi sau đây:
http://example.com/Movies/Index
lợi nhuận như một trang html từ quan điểm index.html.erb
(nghĩ index.aspx)
http://example.com/Movies/Index.xml
trả về cùng một dữ liệu ở định dạng xml (@movies
là đối tượng chứa dữ liệu tất cả các quan điểm sử dụng)
http://example.com/Movies/Index.json
trả về một chuỗi JSON, hữu ích khi thực hiện cuộc gọi javascript cần cùng một dữ liệu/logic
Một luồng tương đương trong ASP.Net MVC sẽ (nếu có thể) có thể trông giống như thế này (nếu nó có thể ít tiết, thậm chí tốt hơn):
public ActionResult Index()
{
Movies movies = dataContext.GetMovies();
// any other logic goes here
switch (format)
{
case "xml":
return View("XMLVIEW");
break;
case "json":
return View("JSONVIEW");
break;
default:
return View();
}
}
điều này thực sự tiện dụng không cần phải giữ một loạt các hành động khác nhau cluttering lên điều khiển của bạn, là có một cách để làm điều gì đó tương tự trong ASP.Net MVC?
Tôi không phải là anh chàng Ruby nhưng ở đâu | định dạng | đến từ, tiêu đề yêu cầu? –
Thêm một số làm rõ làm thế nào nó hoạt động, hy vọng nó sẽ giúp. – mynameiscoffey