一些背景知识:
我正在构建一个MVC应用程序来存储高尔夫球场数据,并创建了一个创建视图 课程页面。这包含一个记分卡的局部视图,我将用于记录结果等其他内容。我目前已经构建了记分卡,因此它在编辑时会触发jquery触发器。课程创建的jquery代码绑定到这些事件,并为18个孔中的每一个填充隐藏的表单输入。
问题:
我想知道是否需要在我的创建页面上有大量隐藏的表单输入来存储触发的值,或者如果我可以在我的视图模型中有一个列表,我可以以某种方式更新。
比我目前更优雅的解决方案会有所帮助。
答案 0 :(得分: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列表,可能是一个过度简化,但你可以在这里放置任意数量的属性
答案 1 :(得分:1)
我相信Phil Haack的this post可能对你有用。它描述了如何使用默认的ASP.NET MVC模型绑定器使用来自多个客户端输入元素的数据填充列表(在您的示例中,它将是每个Hole的各种文本框等)。