我想在我的mvc4应用程序中捕获营业时间
例如,我为其中一天创建了下拉列表,例如星期一
<div class="label-r">
Monday
</div>
<div>
@Html.DropDownList("HoursMON",
Enumerable.Range(1, 12).Select(i => new SelectListItem { Value = i.ToString(),
Text = i.ToString()}),"")
@Html.DropDownList("MINMON",
Enumerable.Range(0, 60).Select(i => new SelectListItem { Value = i.ToString(),
Text = i.ToString() }),"")
@Html.DropDownList("AMMON", new List<SelectListItem>{
new SelectListItem {Text = "AM", Value="AM"},
new SelectListItem {Text = "PM", Value="PM"}},"")
:
@Html.DropDownList("HoursMON2",
Enumerable.Range(1, 12).Select(i => new SelectListItem { Value = i.ToString(),
Text = i.ToString()}),"")
@Html.DropDownList("MINMON2",
Enumerable.Range(0, 60).Select(i => new SelectListItem { Value = i.ToString(),
Text = i.ToString() }),"")
@Html.DropDownList("AMMON2", new List<SelectListItem>{
new SelectListItem {Text = "AM", Value="AM"},
new SelectListItem {Text = "PM", Value="PM"}},"")
要为其他日子创建我需要多次复制代码x6吗?似乎不对。建议将其清理以显示下拉列表并在控制器中捕获它们。
答案 0 :(得分:0)
只需创建一个文本块:
@{
var hours = Enumerable.Range(1, 12)
.Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()});
}
@Html.DropDownList("HoursMON", hours, "")
@Html.DropDownList("HoursTUE", hours, "")
等等......你可以对其他变量做同样的事情。如果您担心每天必须编写DropDownLists,那么您可以创建一个分部类并执行此操作:
@Html.Partial("_Hours", "MON")
@Html.Partial("_Hours", "TUE")
然后在你的_Hours.cshtml中你会做这样的事情:
@model string
@{
var hours = Enumerable.Range(1, 12)
.Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()});
}
@Html.DropDownList("Hours" + Model, hours, "")
但是,理想情况下,您应该使用强类型模型并使用EditorTemplates代替..
答案 1 :(得分:0)
为您的下拉菜单创建一个局部视图,并将其用于所有七天。