C#在返回数据库结果之前显示变量

时间:2015-06-01 12:33:53

标签: c#

我正在尝试显示数据库中的数据,但似乎C#正在创建一个空结果集,并且在我的数据库结果能够填充变量之前显示

Index.cshtml

@inherits System.Web.Mvc.WebViewPage
@{
    WebMatrix.Data.Database DB = WebMatrix.Data.Database.Open(MyConString);
    var data = DB.Query("SELECT * FROM MyTable");
}

<div>
    <p>
        @foreach (var d in data)
        {
            <a href="@d.url">@d.name</a>
        }
    </p>
</div>

在初始加载应用程序时,我得到了这个:

<div>
    <p>
    </p>
</div>

但是,如果我重新加载页面,我会得到预期的结果:

<div>
    <p>
        <a href="home">Home</a>
        <a href="contact">Contact</a>
        <a href="faq">FAQ</a>
    </p>
</div>

如何强制编译器等待结果?

我找到了this,但它基本上说要循环结果,直到返回结果。但是可能根本就没有结果,所以它不会起作用。

1 个答案:

答案 0 :(得分:-2)

请更改

var data = DB.Query("SELECT * FROM MyTable");

var myQuery= "SELECT * FROM MyTable";

然后你的foreach改为

@foreach(var row in db.Query(myQuery))

这样可行。