Как ASP.NET MVC 2 обрабатывает различные форматы запросов (например, HTML, XML, JSON, JS и т. Д.) - PullRequest
2 голосов
/ 20 октября 2010

Я углубляюсь в ASP.NET MVC 2 и пытаюсь понять, как он обрабатывает разные форматы запросов. В Ruby on Rails вы указываете в контроллере, какой формат ответа возвращать на основе запроса ...

respond_to do |format|
  format.html #action.html.erb
  format.xml { render :xml => @employees.to_xml(:root => "employees") }

В ASP.NET MVC 2 ...

  1. Как указать формат запроса?
  2. Как вы отвечаете на этот запрос в запрошенном формате?

Большое спасибо заранее! Я прошу прощения, если этот вопрос странный, я очень новичок в мире .NET.

Ответы [ 3 ]

1 голос
/ 20 октября 2010

Как уже говорили другие, в ASP.NET MVC нет встроенной поддержки форматов.Я видел, как люди добавляли параметры формата «QueryString», чтобы указать требуемый формат (XML против HTML), но вам все равно нужно вручную кодировать тип ответа на вашем контроллере.MVC, но опять же, вам нужно вручную оценить, хочет ли запрос JSON его предоставить.В случае JSON типично видеть что-то вроде этого:

if (Request.IsAjaxRequest())
{
    return Json(viewModel, JsonRequestBehavior.AllowGet);
}
1 голос
/ 20 октября 2010

Скачать MVCContrib и здесь вы идете . Вы также можете взглянуть на Simply Restful Routing .

1 голос
/ 20 октября 2010

Ничего подобного не видел в asp.mvc. Что касается меня, я фильтровал свои запросы на основе атрибутов [Post] или [Get]. Единственное, что я знаю, это то, что вы можете разрешить обработку запросов Json, установив для JsonRequestBehavior значение JsonRequestBehavior.AllowGet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...