0

初めて ASP.NET MVC をいじっているので、アカデミックに聞こえるかもしれませんが、あらかじめお詫び申し上げます。

ASP.NET MVC を使用して単純なコンテンツ管理システムを作成しました。コンテンツ (この場合はアナウンス) のリストを取得するための URL は次のようになります。

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

これにより、最新のお知らせの上位 10 件が返されます。

私の質問は次のとおりです。

  1. どの Web サイトでもこのサービスを利用できますか? それとも、WCF などを使用して公開する必要がありますか?

  2. このサービスを使用してこのデータを別の Web サイトに表示する方法の例をいくつか教えてください。私は主に .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表現を返してWebページに表示することは可能ですか? これはJavascriptだけで可能ですか?

4

2 に答える 2

1

あなたのルートは完全に素晴らしく、誰でも消耗します。秘訣は、そのルートのデータをどのように公開するかです。あなたはXMLと言いました。もちろん。JSonやHtml、あるいは単なるoleテキストを実行することもできます。

トリックは、コントローラーのメソッドとビューの結果オブジェクトにあります。

メインビューの結果のリストは次のとおりです:-

  • ActionResult
  • ContentResult
  • EmptyResult
  • JsonResult
  • RedirectResult

例えば。

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 に答える
1

別のクライアントが特定のページをスクレイピングして HTML を解析するのを止める方法はありません。

ただし、余分なフォーマットの HTML などを含まないデータを生成する同じコントローラーを使用する別のビューが必要になる場合があります。RSS などのよく知られた形式を使用してみてください。

以下のようなものを使用して、結果を JSON として返すことができます。

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

項目を xml として含むビューと、両方の長所を活用できるように JSON を返す別のビューを提供すると思います。

MVC、JQuery、および JSON を使用して何かを呼び出して返す方法についての小さな投稿があります

于 2008-11-07T11:11:10.867 に答える