C# 渲染局部,而不必重复多次

C# 渲染局部,而不必重复多次,c#,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net Mvc 3,Asp.net Mvc 4,这是我的界面 interface IBase { string MvrId { get; set; } string IndividualFullName { get; set; } string FirstHospitalCaseNumber { get; set; } } 我有一节课 public class AddMedicineModel:IBase { private MedicalVarianceEntities DbCtx = new Me

这是我的界面

    interface IBase
{
    string MvrId { get; set; }
    string IndividualFullName { get; set; }
    string FirstHospitalCaseNumber { get; set; }
}
我有一节课

public class AddMedicineModel:IBase
{
    private MedicalVarianceEntities DbCtx = new MedicalVarianceEntities();
    public AddMedicineModel(int MvrId)
    {

        Mvr Mvr = DbCtx.Mvrs.Find(MvrId);
        this.MvrId = Mvr.PKMvrId.ToString();//for display purposes
        IndividualFullName = Mvr.IndividualLastName 
                             + ", " 
                             + Mvr.IndividualFirstName;
        FirstHospitalCaseNumber = Mvr.CaseNumber.ToString();

    }


    //IBASE INTERFACE IMPLEMENTATION 
    public string MvrId { get; set; }
    public string IndividualFullName { get; set; }
    public string FirstHospitalCaseNumber { get; set; }
}
这是我的部分观点!请注意,我的局部视图未附加到AddMedicineModel

因此,我无法将其与从IBase继承的其他模型一起重复使用。如何为许多模型创建可重复使用的局部视图

@model MedicalVariance.Models.ViewModels.AddMedicineModel
     @Html.DisplayFor(model => model.MvrId)
     @Html.DisplayFor(model => model.IndividualFullName) 
     @Html.DisplayFor(model => model.FirstHospitalCaseNumber)

只需将其声明为使用接口:

@model IBase

只需将其声明为使用接口:

@model IBase

您还可以拥有两个世界中最好的:

Partial-AddMecicineModel.cshtml

Partial-IBase.cshtml


您还可以拥有两个世界中最好的:

Partial-AddMecicineModel.cshtml

Partial-IBase.cshtml


我非常喜欢它。我不知道你能通过接口。我原以为他们不能稳定下来,但我猜这不起作用。我爱死它了。我不知道你能通过接口。我以为他们不能稳定下来,但我想这样不行。
@model IBase

@Html.DisplayFor(model => model.MvrId)
@Html.DisplayFor(model => model.IndividualFullName) 
@Html.DisplayFor(model => model.FirstHospitalCaseNumber)