Создание видов MVC, которые не являются HTML - PullRequest
1 голос
/ 22 мая 2009

Это общий вопрос о MVC как шаблоне, но в этом случае я использую ASP.NET MVC.

Мне нужно создать приложение, вывод которого представляет собой поток XML-доступа с HTTP-доступом (тип содержимого text / xml).

Я могу сделать это, используя традиционный ASP.NET, используя объект Generic Handler.

public void ProcessRequest(HttpContext context)
{
    context.Response.ContentType = "text/xml";
    context.Response.Write(someXmlText);
}

Могу ли я создать ASP.NET MVC View, который достигает того же результата?

Это правильное использование MVC View?

Ответы [ 2 ]

3 голосов
/ 22 мая 2009

Вы можете использовать MvcContrib's XmlResult . Это работает так же, как ваш пример выше. Вам не нужно использовать представление для рендеринга XML.

По сути - у вас есть действие на контроллере, который возвращает XML.

1 голос
/ 22 мая 2009

вы можете вернуть его напрямую без просмотров, вам просто нужно указать тип контента в ответе:

например, вы можете указать метод действия следующим образом:

XElement GetElements(param1,param2...)
{
    XElement elements = new XElement("elements",
                                from c in element
                                select new XElement("element",
                                                     new XElement("Id",c.Id),
                                                     new XElement("Name",c.Name)
                                                    ));


    this.ControllerContext.HttpContext.Response.ContentType = "application/xml";
    return elements;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...