3

複数のニュース Web サイトのコンテンツを表示するニュース Web サイトを作成しようとしていました

開始時にWebclientを少し試してみて、単純なWebフォームで正常に動作しています

しかし、MVC に到達すると、次のようになります: The name 'read' does not exist in the current context

以下のコード:

public ActionResult News() 
    {
        var read = "";
        var msg = "";
        try
        {
            WebClient myC = new WebClient();
            read = myC.DownloadString("http://localhost:61123/Videos");

        }
        catch (Exception ex)
        {
            msg = ex.Message.ToString();
        }
        return View();
    }

および News.cshtml ビュー:

@ViewBag.Message.msg
@Html.Raw(read)

他のウェブサイトから特定のコンテンツを取得するために何か他のことを試みる必要がある場合でも、何かヒントはありますか?

4

1 に答える 1

5

readコントローラーのアクション メソッドをスコープとするローカルです。ビューはそれについて知りません。ビューに明示的に送信する必要があります。ViewBag でこれを行うことができます。

try
{
    WebClient myC = new WebClient();
    read = myC.DownloadString("http://localhost:61123/Videos");
    ViewBag.Read = read;
}

そしてあなたの見解では

@Html.Raw(ViewBag.Read)

Model クラスを作成して、モデルにビューを強く型付けすることも、Model クラスのインスタンスのリストを型付けすることもできます。

于 2013-07-22T23:09:29.310 に答える