ASP.NET MVC局部控件

时间:2013-04-16 11:22:59

标签: asp.net-mvc

我是mvc的新手。我已经使用Winforms进行了一些开发,现在我正在开发一个MVC项目。在我们的winforms项目中,我们有标准控件,例如下拉列表控件,它将显示所有员工。此控件知道如何获取员工并显示它们。它公开了一个给予所选员工的财产。表单只需要对其进行控制并使用它。

现在我的问题是如何在aps.net MVC中实现这一点(在视图中)。我尝试了部分视图,但是如何将所选值公开给父视图

3 个答案:

答案 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'

搜索一些内容