我是使用剃刀语法的MVC3的初学者。我想知道如何为@html.partial
撰写。
在ProductVarient.cshtml中,我将调用部分视图,如下所示:
@{
var dataDictAttributes = new ViewDataDictionary();
dataDictAttributes.TemplateInfo.HtmlFieldPrefix = string.Format("attributes_{0}", Model.Id);
@Html.Partial("_ProductAttributes", Tuple.Create<List<Model.ProductVariantAttributes>, Model>(dataDictAttributes,model));
}
我想知道将参数传递给@html.partial()
的语法。另外,应该在控制器或模型中进行更改?
在_ProductAttributes.cshtml中,我已将模型声明如下:
@model Tuple<IList<ProductDetailsModel.ProductVariantModel.ProductVariantAttributeModel>,ProductDetailsModel.ProductVariantModel.ProductVariantAttributeModel>
发生错误如下:
'System.Web.Mvc.WebViewPage.Model'是'属性',但用作“类型”
在模型中:
public class ProductVariantAttributeModel : BaseNopEntityModel
{
public ProductVariantAttributeModel();
public IList<string> AllowedFileExtensions { get; set; }
public AttributeControlType AttributeControlType { get; set; }
public string Description { get; set; }
[NopResourceDisplayName("Products.Qty")]
public int EnteredQuantity { get; set; }
public bool IsRequired { get; set; }
public string Name { get; set; }
public int ProductAttributeId { get; set; }
public int ProductVariantId { get; set; }
public int? SelectedDay { get; set; }
public int? SelectedMonth { get; set; }
public int? SelectedYear { get; set; }
public string TextPrompt { get; set; }
public string TextValue { get; set; }
public IList<ProductDetailsModel.ProductVariantModel.ProductVariantAttributeValueModel> Values { get; set; }
}
答案 0 :(得分:0)
我认为您应该用
替换Partial()
来电
@Html.Partial("_ProductAttributes", Tuple.Create<IList<ProductDetailsModel.ProductVariantModel.ProductVariantAttributeModel>,ProductDetailsModel.ProductVariantModel.ProductVariantAttributeModel>(dataDictAttributes,model));