使用MVC3 @using显示控件

时间:2011-10-05 21:58:34

标签: asp.net-mvc-3 razor

我在.cshtml中有这段代码。

@using (Html.BeginRouteForm("CheckoutShippingAddress", FormMethod.Post))
{
 <div class="enter-address-body">
 @{
 var dataDictPatient = new ViewDataDictionary();
 dataDictPatient.ModelState.Merge(ViewData.ModelState);
 dataDictPatient.TemplateInfo.HtmlFieldPrefix = "PatientInformation";
  @Html.Partial("_CreateOrUpdateAddress", Model.PatientRoom, dataDictAddress)              
  }

发生了什么是错误

The model item passed into the dictionary is of type 'Models.Common.PatientModel', but this dictionary requires a model item of type 'Models.Common.AddressModel'.

我不明白的是我将字典改为想要患者模型而不是地址模型。

1 个答案:

答案 0 :(得分:0)

您需要确保模型的PatientRoom属性声明为PatientModel(例如,您不只是将名称更改为PatientRoom但是将类型保留为AddressModel,并且_CreateOrUpdateAddress模型顶部的@model语句为@model PatientModel