1

一点背景:

我正在构建一个 MVC 应用程序来存储高尔夫球场数据,并为课程创建了一个创建视图页面。这包含一个记分卡的部分视图,我将用于其他事情,例如记录结果等。我目前已经构建了记分卡,因此它在编辑时会触发 jQuery 触发器。课程创建的 jQuery 代码绑定到这些事件,并为 18 个洞中的每个洞填充隐藏的表单输入。

问题:

我想知道我是否需要在我的创建页面上有大量隐藏的表单输入来存储触发的值,或者我是否可以在我的视图模型中有一个可以以某种方式更新的列表。

任何比我目前拥有的更优雅的解决方案都会有所帮助。

4

2 回答 2

1

您可以创建一个像 ScorecardFormViewModel 这样的自定义类,并将您需要的项目作为属性包含在内,并让您的 View 继承 ScorecardFormViewModel

编辑:

public class ScoreCardFormViewModel {

// Properties
public List<ParValues> { get; private set; }

public GolfCourse GolfCourse {get; private set;}

public ScoreCardFormViewModel(int golfCourseId)
{
    GolfCourse = SomeMethodToGetGolfCourseFromModel(golfCourseId);
    // Some way to populate ParValues
}

}

我刚刚创建了一个 ParValues 列表,可能过于简化了,但是您可以在此处放置任意数量的属性

于 2009-11-12T20:35:03.400 回答
1

我相信Phil Haack 的这篇文章可能对你有用。它描述了如何使用默认的 ASP.NET MVC 模型绑定器来使用来自多个客户端输入元素的数据填充列表(在您的示例中,它将是每个孔的各种文本框等)。

于 2009-12-22T21:57:58.420 回答