0

我是第一次玩 ASP.NET MVC,所以如果这听起来很学术,我提前道歉。

我使用 ASP.NET MVC 创建了一个简单的内容管理系统。检索内容列表(在本例中为公告)的 url 如下所示:

http://www.mydomain.com/announcements/list/10

这将返回前十个最近的公告。

我的问题如下:

  1. 任何网站都可以使用此服务吗?或者我是否还必须使用 WCF 之类的东西来公开它?

  2. 有哪些示例说明如何使用此服务在另一个网站上显示此数据?我主要在 .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吗?

4

2 回答 2

1

没有什么可以阻止其他客户端只是抓取该特定页面并解析您的 HTML。

但是,您可能希望使用相同的控制器生成另一个视图,该控制器生成不包含过多格式 HTML 等的数据。也许看看使用众所周知的格式,例如 RSS?

您可以使用以下内容将结果作为 JSON 返回:

public JsonResult GetResults()
{
return Json(new { message = "SUCCESS" });
}

我想我会提供一个视图,其中包含 xml 和另一个返回 JSON 的项目,这样你就可以两全其美了。

我有一篇关于如何在这里使用 MVC、JQuery 和 JSON 调用和返回内容的小帖子。

于 2008-11-07T11:11:10.867 回答
1

您的 ROUTE 非常好,任何人都可以使用。诀窍在于您希望如何公开该路由的数据。你说XML。当然。你甚至可以做 JSon 或 Html 或者只是简单的 ole 文本。

诀窍在于您的控制器方法和视图结果对象。

这是主要视图结果的列表:-

  • 动作结果
  • 内容结果
  • 空结果
  • json结果
  • 重定向结果

例如。

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);
}
于 2008-11-07T11:38:13.230 回答