从Controller返回一个对象列表,并在razor c#mvc中解析对象

时间:2018-06-06 19:00:47

标签: asp.net-mvc razor

我有一个非常简单的调用,我从我的控制器对一个对象。它返回一个对象列表,这些对象具有我需要在剃刀格式上拉出的值。

这是控制器代码:

public List<DocumentSearchResult> Results(string searchString, string location)
    {
        return SharePointRESTDocSearch.SearchResult(location, searchString);
    }

这将返回在对象上具有以下属性的SearchResult对象列表:

  

DocumentTitle,DocumentPath

在我看来,我按如下方式调用控制器:

 @using (Html.BeginForm("Results", "SharePointSearch"))
{
    <label>Search Term</label>
    <input type="text" id="searchString" name="searchString" />

    <label>SharePoint Location</label>
    <input type="text" id="location" name="location" />
    <input class="button" id="Submit" type="submit" value="Search" />

}

我可以截取控制器中的代码,然后会有结果返回。我只需要知道如何从控制器返回结果并在剃刀页面中循环结果以显示信息。我试过这个:

 @foreach(var item in Model)
{
    <p>Document Title: @item.DocumentTitle</p>
}

但是我在模型上得到一个null错误。我无法控制从SearchResult返回的数据,我只需要解析返回项并显示结果。

感谢。

1 个答案:

答案 0 :(得分:0)

您的代码对我来说没有多大意义......您应该返回一个视图并发送您要作为模型发送的列表。

喜欢这个......

public ActionResult Results(string searchString, string location)
{
    List<DocumentSearchResult> model = SharePointRESTDocSearch.SearchResult(location, searchString);
    return View(model);
}

除非我不明白问题是什么