0

これは私のインターフェースです

    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)
4

2 に答える 2

2

インターフェースを取るものとして宣言するだけです。

@model IBase
于 2012-05-30T15:39:30.803 に答える
1

また、両方の長所を活用することもできます。

部分的-AddMecicineModel.cshtml

@model MedicalVariance.Models.ViewModels.AddMedicineModel

@Html.DisplayFor(model => model.PropertyInAddMedicineModelNotInInterface)
@Html.Partial("Partial-IBase", Model)

部分的-IBase.cshtml

@model IBase

@Html.DisplayFor(model => model.MvrId)
@Html.DisplayFor(model => model.IndividualFullName) 
@Html.DisplayFor(model => model.FirstHospitalCaseNumber)
于 2012-05-30T15:44:38.673 に答える