4

我正在使用 WebMatrix,我创建了一个数据库并放置了一个包含几行数据的表。我可以连接到它并使用 获取数据WebGrid,但它只提供了一种使用表格输出数据的方法。

这是我的“shows.cshtml”代码:

@{
    var db = Database.Open("TVPort");
    var shows_data = db.Query("SELECT * FROM shows");
    var shows_grid = new WebGrid(source: shows_data);
}

我想要做的是枚举查询返回的每一行,并对每一列的值做任何我想做的事情。但WebGrid唯一允许您在表中输出数据。我今天才开始使用 WebMatrix 和 Razor 语法。

另外(这里的附带问题,认为这不足以成为自己的问题),有没有办法为我的“shows.cshtml”页面制作 C# 代码文件?在 Visual Web Developer 2010 中,每个页面都有一个“page.aspx”文件和一个“page.aspx.cs”,其中“page.aspx.cs”文件允许您在页面中使用自定义函数或执行任务页面加载时。在 WebMatrix 中使用 CSHTML 是否有类似的行为?还是所有代码都应该与实际页面内联?

4

4 回答 4

6

在使用数据找到答案:ASP.net

@foreach(var row in db.Query("SELECT * FROM shows")) {
  <em>@row.title</em> - Cast: @row.cast
}
于 2013-02-07T06:07:51.177 回答
1

你走错路了!MVC 模式在将数据逻辑与实际内容分离方面有其优势,现在您正在视图中检索新数据(这不会给控制器留下太多控制权)!

查看http://www.asp.net/mvc以获得有关如何使用 ASP.Net MVC 以及如何构建类和文件的一些很棒的教程(它将回答您的两个问题)。如果您以前使用 PHP 并直接在同一页面中编写每个查询,这似乎有点过头了,但相信我,您创建的代码会更干净,并且使用 ASP.Net MVC 更容易维护。

于 2013-02-07T06:16:56.113 回答
0

关于您的附带问题,我会说使用 Razor 框架您不能拥有代码隐藏文件。它将服务器端代码和客户端代码混合在一起。如果您想要一个代码隐藏文件,那么您可以在 Visual Studio 上使用没有剃刀视图引擎的 Asp.net 网页。

于 2013-02-07T08:30:05.683 回答
0

对于附带的问题,我相信 @function{"insert code inside this block"} 将允许您在页面内创建自定义函数。希望这可以帮助其他可能有类似问题并最终来到这里的人。信不信由你,有一些关于如何开始的很好的文档@http ://www.asp.net/get-started。只需通过教程。

于 2014-02-06T23:22:49.083 回答