【问题标题】:ASP.NET MVC Razor SQL tabelASP.NET MVC Razor SQL 表
【发布时间】:2021-04-17 10:10:46
【问题描述】:

我对此很陌生,但我正在学习。

这是一个数据库 SQL 问题。这在经典 ASP 中非常简单。

我的数据库中有 2 个表。书籍和流派。

在我的展示书籍页面中,您将从 db 获得:

| Book name | book Author | book genre |
+-----------+-------------+------------+
| eden      | paulo       | 1          |
| mystic    | paulo       | 2          |

类型是

| id  | book genre |
+-----+------------+
| 1   | action     |
| 2   | horror     |

我喜欢的是

| Book name | book Author | book genre |
+-----------+-------------+------------+
| eden      | paulo       | action     |
| mystic    | paulo       | horror     |

正如我之前所说,这在经典 asp 中非常简单。

如何在带有 Razor 的 ASP.NET MVC 中执行此操作?

【问题讨论】:

  • 在带有 Razor 的 ASP.NET MVC 中也超级简单。你在哪个部分苦苦挣扎?您是否编写了查询以获取所需的数据?定义类来表示您的数据?执行查询以创建类的实例?将该模型传递给您的视图?尝试在视图中迭代模型以创建 HTML 标记?你坚持哪个具体部分?

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


【解决方案1】:

如果您的 Book 和 Genre 表已经与外键连接,那么您可以像这样获取数据。

创建视图模型:

public class BookList{
  public string Name  {get;set;}
public string Author {get;set;}
public string Genre {get;set;}
}

var books  = _context.Books.Include(x=>x.Genre).Select(x=> new BookList(){
  Name = x.BookNmae,
  Auther = x.BookAuthor,
  Genre = x.Genre.BookGenre
}).ToList()

将此模型发送到视图:

在视图中,您只需要遍历模型即可创建表格行。

<table>
<thead> <th>Book Name</th><th>Book Author</th><th>Book Genre</th></thead>
<tbody>
@foreach(var m in Model){
 <tr><td>@m.Name</td><td>@m.Author</td><td>@m.Genre</td></tr>
}
</tbody>
</table>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 2012-07-07
    • 2017-10-22
    • 2011-07-07
    • 2011-04-19
    • 2011-05-31
    • 2016-10-17
    相关资源
    最近更新 更多