在ASP.NET中显示字符串列表

时间:2014-12-10 13:20:00

标签: c# asp.net asp.net-mvc razor

我目前正在做一些关于在ASP.NET应用程序中显示某些表的练习。我有以下模型类:

public class DynamoDB
{
    public IEnumerable<string> GetOsman { get; set; }
}

和控制器类:

public class DynamoController : Controller
{

    // --- THIS PART IS UPDATED ---
    public ActionResult Index()
    {
        DynamoDB model = new DynamoDB();
        model.GetOsman = LoadAI();
        return View(model);
    }

    public List<string> LoadAI()
    {
        List<string> list = new List<string>();
        list.Add("Testing");
        list.Add("MCV");
        list.Add("Project");
        return list;
    }
}

最后是我的Razor文件:

@{
ViewBag.Title = "Home Page";
}

@model FinalApplication.Models.DynamoDB

<div class="jumbotron">
    <h1>Home Monitoring Application</h1>
</div>


@foreach (var item in Model.GetOsman)
{
    <text>
        @item
    </text>
}

但它仍然返回错误&#34;对象引用未设置为对象的实例&#34;在以下行:

@foreach (var item in Model.GetOsman)

昨天我发了一篇类似的帖子,因为当我从DynamoDB表访问数据时遇到了同样的错误,但即使用这个简单的例子,我也得到了同样的错误。我的解决方案资源管理器看起来像这样:

enter image description here

3 个答案:

答案 0 :(得分:3)

您应该将model传递给视图,而不是model.GetOsman

return View(model);

另外,在Dynamo下创建Views文件夹并在其中加入Index.cshtml

答案 1 :(得分:3)

您传递给View()的对象是model.GetOsman而不是model

这样做:

return View(model);

答案 2 :(得分:0)

看起来您的视图需要DynamoDB模型, 但是你要传递

 return View(model.GetOsman);

尝试将模型传递给您的视图

 return View(model);