我是mvc的新手。我已经使用Winforms进行了一些开发,现在我正在开发一个MVC项目。在我们的winforms项目中,我们有标准控件,例如下拉列表控件,它将显示所有员工。此控件知道如何获取员工并显示它们。它公开了一个给予所选员工的财产。表单只需要对其进行控制并使用它。
现在我的问题是如何在aps.net MVC中实现这一点(在视图中)。我尝试了部分视图,但是如何将所选值公开给父视图
答案 0 :(得分:1)
在MVC中,Views
不应包含除显示逻辑之外的任何逻辑。
Controller
应该是“知道如何获得员工”或创建员工Model
,然后将其传递给知道如何展示员工的View
,在大多数情况下,它是View
类型的严格类型Employee
。
答案 1 :(得分:1)
我认为这是你想要实现的目标:
比如说,在您的模型中,您有一个员工(或者列表,或者):
Employee Employee { get; set; }
所以,你的主视图应该有这个:
@Html.DisplayFor(Model => Model.Employee);
但是,你问我如何模板化?
你应该在这个阶段退后一步,考虑制作一个新的ViewModel,一个EmployeeViewModel(在你看来,这应该是你的“部分视图”)。
所以现在你将拥有:
EmployeeViewModel Employee { get; set; }
现在,在Views / Shared中创建一个名为DisplayTemplates的文件夹,并创建EmployeeViewModel.cshtml。要明确的是,您现在拥有/ Views/Shared/DisplayTemplates/EmployeeViewModel.cshtml
。
这一行的顶部应为:
@model YourNamespace.EmployeeViewModel
现在您只需在此视图中使用:
@Html.LabelFor(model => model.EmployeeName) // or whatever properties you have
这应该足以让你开始。
答案 2 :(得分:0)
PartialView对您没问题。所以用关键字'PartialView'
搜索一些内容