【发布时间】:2017-05-07 19:09:57
【问题描述】:
对于我的 ASP.Net MVC Web 应用程序,我有一些 classA 的对象需要引用到 classA 的每个对象,包括它自己,并且每个连接都需要 classB 的另一个对象。我已将所有这些对象存储在 classC 的其他对象中。所有这些数据都存储在数据库中。
这给了我一个巨大的列表,来自 classA 的对象越多,越大,因为当我添加一个新的 classA 对象时,这个表需要更新,尽管这不是问题的一部分。
现在我想将这个表格显示为一个矩阵。
我有:
<table border="1">
<tr>
<th>Object 1 (classA)</th>
<th>Object 2 (classA)</th>
<th>Value (classB)</th>
</tr>
<tr>
<td>ASDF</td>
<td>ASDF</td>
<td>value1</td>
</tr>
<tr>
<td>ASDF</td>
<td>QWER</td>
<td>value2</td>
</tr>
</table>
我想要:
<table border="1">
<tr>
<td/>
<th>Object 1 (classA)</th>
<th>Object 2 (classA)</th>
</tr>
<tr>
<th>Object 1 (classA)</th>
<td>value1</td>
<td>value2</td>
</tr>
<tr>
<th>Object 2 (classA)</th>
<td>value2</td>
<td>value1</td>
</tr>
</table>
我的问题是,我不能只遍历当前表中的所有条目并将其显示在我的 HTML 页面上,因为这将是多余的(因此非常庞大)。
我现在的问题是,我怎样才能根据需要显示我的数据?
我一直在寻找类似的问题,但我发现没有一个是两次使用同一个类。
编辑
我的描述可能不准确。这是我的课程(缩短):
public class classA {
public int Id {get; set;}
public string Name {get; set;}
}
public class classB {
public int Id {get; set;}
public string Value {get; set;}
}
public class classC {
public int Id {get; set;}
public virtual classA PersonA {get; set;}
public virtual classA PersonB {get; set;}
public virtual classB friendship {get; set;}
}
所以在classA中没有存储对象,只有在classC中,然后我用它来显示HTML中的数据。
【问题讨论】:
-
你的数据是什么样的?你的 SQL 查询呢?您想加入两个不同的表吗?
-
@silkfire 我的数据类 (classC) 有 3 个属性:
public virual ClassA row { get; set;}public virual ClassA column { get; set;}和public virual ClassB value { get; set;}。我目前对我的 HTML 页面使用延迟加载,并且我只使用一个表来存储我的数据,没有连接。希望这能回答您的问题。 -
你能发布你的classA、classB和classC的定义吗?据我了解,classA 引用自身和 classB,而 classC 包含 classA 的列表。将虚拟名称放在上下文中您的意思是:public class Person // classA { public Person Friend { get;放; } 公共地址 HomeAddress { 获取;放; } } public class Address // classB { public string StreetName { get;放; } } public class People // classC { public IList
PersonList { get;放; } } -
@YawarMurtaza - 我编辑了我的问题。我注意到我的 classB 只有 1 个值,所以我可以将它设为 classC 中的枚举...但这并不能解决我的问题。
标签: c# asp.net entity-framework model-view-controller