当用户选择了特定的ID时,在详细信息视图中的两个表中显示信息

西亚兰·多诺休(Ciaran Donoghue)

我正在vb.net中创建mvc应用程序,并且尝试使用ViewModel从SQL显示有关两个表的信息。

到目前为止,我可以成功显示一个表的信息,但是我不确定如何显示另一个表的信息。

当用户选择其ID时,将显示IssueTable,但我要与之一起显示的表是CommentsTable。

在IssueTable和CommentsTable之间存在一对多的关系,因此,例如,我想显示IssueSummary,对于每个与CommentTable中的IssueID匹配的IssueID,我想显示commentBody,这意味着每个issueSummary将具有多个注释。

到目前为止,这就是我所得到的。

我创建了一个像这样的类:

Namespace IssueTracker
    Public Class IssueComments
        Public cTable As CommentTable 'CommentTable in SQL database
        Public iTable As IssueTable 'IssueTable in SQL database
    End Class
End Namespace 

然后在控制器中我得到了:

Dim IssTable As IssueTable = dbServer.IssueTables.Find(id) 'getting the ID of the selected issue

Dim iss As New IssueTable() With {
    .IssueID = IssTable.IssueID,
    .IssueKey = IssTable.IssueKey,
    .IssueTypeID = IssTable.IssueTypeID,
    .priorityID = IssTable.priorityID,
    .IssueSummary = IssTable.IssueSummary,
    .IssueDescription = IssTable.IssueDescription,
    .Created = IssTable.Created,
    .Updated = IssTable.Updated
} ' This will display the information about the specific issue crrectly

在这里,我试图显示有关评论的信息:

Dim comment As New CommentTable() With {
    .CommentID = cTable.CommentID,
    .CommentBody = cTable.CommentBody
} 'Will not display anything as it is not correctly connected with issueTable

Dim viewModelC As New IssueTracker.IssueComments() With {
    .cTable = comment,
    .iTable = iss
} 'Here I create the variable viewModel the return it in the view 

Return View(viewModelC)

我正在尝试像这样连接两个表:

 Dim viewModel = From c In dbServer.CommentTables Join i In dbServer.IssueTables On c.IssueID Equals i.IssueID Where (c.IssueID = i.IssueID)
Select New IssueTracker.IssueComments With {.cTable = c, .iTable = i}

如何正确显示commentTable中与IssueTable中的issueID相等的每个issueID的所有评论?

自由度

如果您希望将所有问题和评论同时发送到视图,请不要尝试在控制器中将它们组合在一起,创建一个新类(在ViewModels下),该类包含两个列表的属性,然后将它们同时发送到视图和在那里处理。

Namespace IssueTracker.ViewModels
    Public Class IssueCommentsViewModel
        Public Issues As List(Of Issue)
        Public Comments As List(Of Comment)
    End Class
End Namespace 

然后,在视图中处理找到正确的数据,例如:

<table>
    @For Each issue In Model.Issues
        Dim comments = Model.Comments.Where(c=>c.IssueID == issue.IssueID))
        @<tr>
            <th>@issue.Summary</th>
        <tr>

        @For Each comment In comments
            @<tr>
                <td>@comment.CommentBody</td>
            </tr>
        Next
    Next
<table>

(尝试制作此Razor vb.net语法-希望可以看到该概念,而不是语法问题)

编辑:填充视图模型,从问题中获取现有代码:

Dim model = New ViewModel()
model.Issues = dbServer.IssueTables
model.Comments = dbServer.CommentTables
Return View(model)

重新检查一下代码,看起来您只返回了一个问题,因此进行了更新:

Namespace IssueTracker.ViewModels
    Public Class IssueCommentsViewModel
        Public Issue As IssueTable
        Public Comments As List(Of CommentTable)
    End Class
End Namespace 


Dim model = New ViewModel()
model.Issues = dbServer.IssueTables.Find(id)
model.Comments = dbServer.CommentTables.Where(x=>x.IssueID Equals id) ' this doesn't look like VB to me, so change accordingly
Return View(model)

<table>
    <tr>
        <th>@Model.Issue.Summary</th>
    <tr>

    @For Each comment In Model.Comments
        @<tr>
            <td>@comment.CommentBody</td>
        </tr>
    Next
<table>

旁白:如果您有很多问题和评论,那么您应该查看仅在视图中显示问题,然后使用ajax回调根据用户操作动态加载评论(例如,单击“展开”图标)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当用户单击所选按钮时显示详细信息

来自分类Dev

当用户从列表中选择时如何显示内容详细信息?

来自分类Dev

当用户点击左侧详细信息中的产品时如何创建将显示在右侧

来自分类Dev

当用户使用他的详细信息登录时如何在 url 中传递 id

来自分类Dev

用户单击表格视图中的详细信息按钮时如何显示图像。的iOS

来自分类Dev

当有两个可能包含详细信息的表时,选择数据的最佳方法是什么?

来自分类Dev

显示特定用户的详细信息

来自分类Dev

显示表中特定行的详细信息

来自分类Dev

使用两个mysql表中的详细信息进行PHP登录

来自分类Dev

详细信息视图中的上一个页面的详细信息视图-Django

来自分类Dev

从表格视图中选择时,在多个详细信息视图之间进行排序

来自分类Dev

JFileChooser在详细信息视图中显示无效的文件大小

来自分类Dev

在 Django 应用程序中显示特定用户详细信息而不是所有详细信息

来自分类Dev

在UITableViewCell的“详细信息”中显示信息

来自分类Dev

如何从两个表中提取详细信息并匹配值

来自分类Dev

如何在mysql中使用按日期顺序获取两个表的详细信息

来自分类Dev

从3个MySQL表中选择帖子,用户详细信息和投票

来自分类Dev

仅在单击特定用户名时显示其所有详细信息

来自分类Dev

将数据从表视图传递到详细信息视图时,详细信息视图未更新

来自分类Dev

如何从两个不同的表格详细信息中求和?

来自分类Dev

API 显示用户详细信息

来自分类Dev

获取和显示用户的详细信息

来自分类Dev

从对象 ID 数组中查找用户详细信息

来自分类Dev

跨不同表的用户详细信息

来自分类Dev

选择选定行时在下一个视图中检索数据的详细信息

来自分类Dev

想要在 Angular 4 中单击按钮时获取特定用户的详细信息

来自分类Dev

搜索栏将仅在详细信息视图中显示第一个单元格

来自分类Dev

如何从两个表中获取帖子的用户信息?

来自分类Dev

如何显示存储在数组中的ID详细信息?

Related 相关文章

  1. 1

    当用户单击所选按钮时显示详细信息

  2. 2

    当用户从列表中选择时如何显示内容详细信息?

  3. 3

    当用户点击左侧详细信息中的产品时如何创建将显示在右侧

  4. 4

    当用户使用他的详细信息登录时如何在 url 中传递 id

  5. 5

    用户单击表格视图中的详细信息按钮时如何显示图像。的iOS

  6. 6

    当有两个可能包含详细信息的表时,选择数据的最佳方法是什么?

  7. 7

    显示特定用户的详细信息

  8. 8

    显示表中特定行的详细信息

  9. 9

    使用两个mysql表中的详细信息进行PHP登录

  10. 10

    详细信息视图中的上一个页面的详细信息视图-Django

  11. 11

    从表格视图中选择时,在多个详细信息视图之间进行排序

  12. 12

    JFileChooser在详细信息视图中显示无效的文件大小

  13. 13

    在 Django 应用程序中显示特定用户详细信息而不是所有详细信息

  14. 14

    在UITableViewCell的“详细信息”中显示信息

  15. 15

    如何从两个表中提取详细信息并匹配值

  16. 16

    如何在mysql中使用按日期顺序获取两个表的详细信息

  17. 17

    从3个MySQL表中选择帖子,用户详细信息和投票

  18. 18

    仅在单击特定用户名时显示其所有详细信息

  19. 19

    将数据从表视图传递到详细信息视图时,详细信息视图未更新

  20. 20

    如何从两个不同的表格详细信息中求和?

  21. 21

    API 显示用户详细信息

  22. 22

    获取和显示用户的详细信息

  23. 23

    从对象 ID 数组中查找用户详细信息

  24. 24

    跨不同表的用户详细信息

  25. 25

    选择选定行时在下一个视图中检索数据的详细信息

  26. 26

    想要在 Angular 4 中单击按钮时获取特定用户的详细信息

  27. 27

    搜索栏将仅在详细信息视图中显示第一个单元格

  28. 28

    如何从两个表中获取帖子的用户信息?

  29. 29

    如何显示存储在数组中的ID详细信息?

热门标签

归档