【发布时间】:2021-01-20 02:48:58
【问题描述】:
我有几个不同视图模型的视图。
每个视图都有“ProjectId”下拉列表,我想在提交之前在“ProjectId”下拉列表旁边显示所选项目的开始日期。
“ProjectId”下拉列表是一个 ViewBag。
除了为每个视图模型添加开始日期之外,还有其他方法吗?
查看:
<div class="form-inline">
Project:
<div>
@Html.DropDownList("ProjectId", new SelectList(ViewBag.ProjectsDropDownList, "Value", "Text"))
</div>
</div>
【问题讨论】:
-
向我们展示您尝试过的代码。
-
在用户选择项目后,您可以使用 AJAX 从服务器获取项目的开始日期。或者将开始日期作为选项的数据属性放在下拉列表中,并在选择时使用 Javascript 显示它。或将其放入视图模型中。或者在 viewbag 中的单独字典中。很多方法。可能还有一些我还没有想到的。发挥你的想象力。
-
@ADyson 我知道我可以使用 AJAX 来获取日期,但也意味着所有视图都必须添加 AJAX,后来我发现 displaytemplate 这种方式可以调用相同的模板来呈现 html,但我没有'不知道如何传递参数和使用不同的视图模型。
-
使用viewbag保存日期可能会更好,这样您就不必担心具体的型号。
标签: c# html model-view-controller razor asp.net-mvc-5