创建元组<list <model>,Model&gt;作为模型传递给Html.Partial </list <model>

时间:2012-07-18 05:16:45

标签: asp.net asp.net-mvc asp.net-mvc-3

我是使用剃刀语法的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; }
}

1 个答案:

答案 0 :(得分:0)

我认为您应该用

替换Partial()来电
 @Html.Partial("_ProductAttributes", Tuple.Create<IList<ProductDetailsModel.ProductVariantModel.ProductVariantAttributeModel>,ProductDetailsModel.ProductVariantModel.ProductVariantAttributeModel>(dataDictAttributes,model));