IEnumerable <twitter status =“”>查看输出MVC 5

时间:2018-05-02 11:36:17

标签: asp.net-mvc twitter tweetsharp

我正在尝试输出一组带有特定主题标签的推文。

我在控制器中有以下代码:

public ActionResult Test() {

        var service = new TwitterService("xxx", "xxx");
        service.AuthenticateWith("xxx", "xxx");

        var options = new SearchOptions { Q = "#test" };

        TwitterSearchResult tweets = service.Search(options);
        IEnumerable<TwitterStatus> status = tweets.Statuses;
        ViewBag.Tweets = status;


        //var tweets = service.Search(options);

        return View();
    }

我想在视图中输出IEnumerable中的结果。 但我发现很难在视图中输出这些结果。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

你的问题有点模糊,但我想我理解你的问题。

您需要通过操作将数据传递到视图中。

public ActionResult Test() {

    var service = new TwitterService("xxx", "xxx");
    service.AuthenticateWith("xxx", "xxx");

    var options = new SearchOptions { Q = "#test" };

    TwitterSearchResult tweets = service.Search(options);
    IEnumerable<TwitterStatus> status = tweets.Statuses;


    //var tweets = service.Search(options);

    return View(status);
}

注意我将状态对象传入视图。

现在在您的视图中,您可以绑定该对象。

@model IEnumerable<TwitterStatus>

@foreach(var status in Model){
    <div>
        @status.Id @*Id is an exmaple property. Use the actual properties inside "TwitterStatus"*@
    </div>
}

修改

如果您想在页面中放置多个内容,则必须使用部分视图。

您需要一个包含所有其他部分视图的视图。要做到这一点,只需为您的父视图定义一个Twitter信息的动作。

public ActionResult AllInfo() {
    return View();
}

然后你的剃刀:

//AllInfo.cshtml
@Html.Action("Test", "YourController")

在AllInfo.cshtml中,我们在“YourController”中调用“Test”操作。我们将更改“Test”以返回PartialView而不是View。

public ActionResult Test() {

    var service = new TwitterService("xxx", "xxx");
    service.AuthenticateWith("xxx", "xxx");

    var options = new SearchOptions { Q = "#test" };

    TwitterSearchResult tweets = service.Search(options);
    IEnumerable<TwitterStatus> status = tweets.Statuses;

    return PartialView(status);
}

剃须刀在您的局部视图中保持不变:

//Test.cshtml
@model IEnumerable<TwitterStatus>

@foreach(var status in Model){
    <div>
        @Model.Id @*Id is an exmaple property. Use the actual properties inside "TwitterStatus"
    </div>
}

您可以在AllInfo.cshtml页面中多次调用@ Html.Action()并添加所需的所有PartialView。