Я впервые играю с ASP.NET MVC, поэтому заранее прошу прощения, если это звучит академично.
Я создал простую систему управления контентом с использованием ASP.NET MVC. URL-адрес для получения списка контента, в данном случае объявлений, выглядит так:
http://www.mydomain.com/announcements/list/10
Это вернет десять самых последних объявлений.
У меня следующие вопросы:
Может ли какой-либо веб-сайт использовать эту услугу? Или мне также придется раскрыть его с помощью чего-то вроде WCF?
Каковы некоторые примеры того, как использовать эту услугу для отображения этих данных на другом веб-сайте? Я в основном программирую в мире .NET, но думаю, если бы я мог использовать службу с помощью javascript или сделать что-нибудь с Json, это действительно могло бы работать для любой технологии.
Я хочу динамически генерировать что-то вроде следующего вывода:
<div class = "announcement">
<h1>Title</h1>
<h2>Posted Date</h3>
<p>Teaser</p>
<a href = "www.someotherdomain.com">More</a>
</div>
На данный момент ... можно ли вернуть представление Html и отобразить его на веб-странице? Возможно ли это, используя только Javascript?





Нет ничего, что могло бы помешать другому клиенту просто очистить эту конкретную страницу и проанализировать ваш HTML.
Однако вы, вероятно, захотите другое представление, использующее тот же контроллер, который генерирует данные, не содержащие избыточного форматирования HTML и т. д. Может быть, посмотрите на использование хорошо известного формата, такого как RSS?
Вы можете вернуть результат как JSON, используя что-то вроде ниже:
public JsonResult GetResults()
{
return Json(new { message = "SUCCESS" });
}
Я думаю, что я бы предложил представление, которое содержит элементы в виде xml и другое, которое возвращает JSON, таким образом, у вас есть лучшее из обоих миров.
У меня есть небольшой пост о том, как вызывать и возвращать что-то с помощью MVC, JQuery и JSON здесь.
Ваш МАРШРУТ прекрасен и пригоден для использования кем угодно. Уловка заключается в том, как вы хотите предоставить свои данные для этого маршрута. Вы сказали XML. Конечно. Вы даже можете использовать JSon или Html или просто обычный текст.
Уловка будет в вашем методе контроллера и в объекте результата просмотра.
Вот список результатов основного просмотра: -
например.
public <ContentResult> AnnouncmentIndex(int numberOfAnnouncements)
{
// Generate your Xml dynamically.
string xml = "<div class=\"announcement\"><h1>Title</h1><h2>Posted Date</h3><p>Teaser</p><a href = "www.someotherdomain.com">More</a></div>"
Response.ContentType = "application/xml"; // For extra bonus points!
return Content(xml);
}