Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在视图中设置表格格式_C#_Html_Asp.net Mvc_Html Table - Fatal编程技术网

C# 在视图中设置表格格式

C# 在视图中设置表格格式,c#,html,asp.net-mvc,html-table,C#,Html,Asp.net Mvc,Html Table,在我的应用程序中,我有一个视图,可以从中获取基于此模型的项目列表: public class ItemList { public ObjInfo m_Obj { get; set;} public List<ObjData> m_ObjDataList { get; set;} } 但是我很难像我喜欢的那样格式化这些值,这就是为什么我要寻求帮助 经过反复研究,找到了我的答案 我需要将我的表格格式化如下: Obj Name Obj Data Date of

在我的应用程序中,我有一个视图,可以从中获取基于此模型的项目列表:

public class ItemList
{
   public ObjInfo m_Obj { get; set;}

   public List<ObjData> m_ObjDataList { get; set;}
}

但是我很难像我喜欢的那样格式化这些值,这就是为什么我要寻求帮助

经过反复研究,找到了我的答案

我需要将我的表格格式化如下:

Obj Name    Obj Data    Date of Data
Obj 1       Data 1          Date1
            Data 2          Date2
            Data 3          Date3
            Data 4          Date4
Obj 2       Data 1          Date1
            Data 2          Date2
            Data 3          Date3
            Data 4          Date4
<table class="objItemTable">
    <tr>
        <th>
            Object Name
        </th>
        <th>
            Provider
        </th>
        <th>
            Obj Data
        </th>
        <th>
            Date of Data
        </th>
    </tr>

    @for (int i = 0; i < Model.Count; i++)
    {
        var className = i%2 == 0 ? "even" : "odd";

        <tr>
            <th rowspan="5">
                @Html.ActionLink(Model[i].m_Obj.m_ObjName, "ShowObjData", new { id = Model[i].m_Obj.m_ObjId })
            </th>
            @for (int j = 0; j < Model[i].m_ObjDataList.Count; j++)
            {
                <tr class="@className">
                    <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].m_DataProvider.m_DataProviderNa,e)</td>
                    <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].AnIntValue)</td>
                    <td>@Html.DisplayFor(item => item[i].m_ObjDataList[j].m_DateDataSaved)</td>
                </tr>
            }
        </tr>
    }
</table>

对象名
供应商
Obj数据
数据日期
@for(int i=0;iModel[i].m_ObjDataList[j].m_DataProvider.m_DataProviderNa,e)
@DisplayFor(item=>Model[i].m_ObjDataList[j].anitvalue)
@DisplayFor(item=>item[i].m_ObjDataList[j].m_DateDataSaved)
}
}

。。。Annnnd现在它显示得很好。:)

关闭
后,应移动
的内部
。这样,你将在
之后有一个
,而不是像你当前的代码那样嵌套。而且,既然这是解决方案,你可能应该接受答案:)当你在
中有
时,这个渲染如何正确?@Floremin现在这是一个非常有趣的问题,相信我,它是有效的,但是如何,我不知道:|
<table class="objItemTable">
    <tr>
        <th>
            Object Name
        </th>
        <th>
            Provider
        </th>
        <th>
            Obj Data
        </th>
        <th>
            Date of Data
        </th>
    </tr>

    @for (int i = 0; i < Model.Count; i++)
    {
        var className = i%2 == 0 ? "even" : "odd";

        <tr>
            <th rowspan="5">
                @Html.ActionLink(Model[i].m_Obj.m_ObjName, "ShowObjData", new { id = Model[i].m_Obj.m_ObjId })
            </th>
            @for (int j = 0; j < Model[i].m_ObjDataList.Count; j++)
            {
                <tr class="@className">
                    <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].m_DataProvider.m_DataProviderNa,e)</td>
                    <td>@Html.DisplayFor(item => Model[i].m_ObjDataList[j].AnIntValue)</td>
                    <td>@Html.DisplayFor(item => item[i].m_ObjDataList[j].m_DateDataSaved)</td>
                </tr>
            }
        </tr>
    }
</table>