gpt4 book ai didi

asp.net-mvc-3 - 如何为时间表设计 View 模型?

转载 作者:行者123 更新时间:2023-12-01 14:01:47 25 4
gpt4 key购买 nike

我有一个学生时间表,这样他们就可以在一周内参加类(class)。而且我不知道应该如何构建我的 ViewModel。

我决定这样做:

class CourseTableViewModel
{
CourseTableHeaderViewModel[] Headers;
CourseTableRowViewModel[] Rows;
}

class CourseTableRowViewModel
{
int HourStart;
CourseTableCellViewModel[] Cells;
}

class CourseTableHeaderViewModel
{
DateTime Date;
}

class CourseTableCellViewModel
{
CourseViewModel[] Courses;//null if no course at this time
}

但对我来说,它似乎对我的 View 模型来说太重了。也许我应该只发送 CourseViewModel[],然后在我的 cshtml 上完成所有表/行/单元格工作。

viewmodel 真的应该像我的 View 吗?

编辑:我会将我的数据显示为时间表,其中星期几作为标题,一天中的每个小时都有一行。如果一门类(class)需要 2 小时,它将占据 2 行。每个类(class)的单元格上都会有一个“参加”或“取消”按钮。

PS:我知道 jquery fullcalendar,但我只是想在这里学习如何构建我的 View 模型。

最佳答案

一些 View 模型类太轻了; CourseTableHeaderViewModel。正如 Jon 所说,您需要考虑 UI 将显示此数据,但我不会将标题和行分开,而是有一个类(最好是域)代表您将需要的所有数据,然后 vi9ew 模型是这些类的列表:

public class Course {
public int Id {get; set; }
public DateTime StartTime {get; set; }
public string Name {get; set; }
. . .
. . .
}

public class CoursesViewModel {
public List<Course> Courses {get; set; }
public object SomeReferenceData {get; set; }
. . .
. . .
}

根据您希望如何显示数据,您可以使用 linq 对类(class)列表进行排序,然后将其分配到模型中。

关于asp.net-mvc-3 - 如何为时间表设计 View 模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8788312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com