MVC将模型属性传递给renderpartial失败

时间:2015-01-27 08:05:34

标签: c# asp.net-mvc razor

所以我有一个模特

public class test
{
    private List<int> _abc;

    public List<int> abc
    {
        get { return _abc; }
        set { _abc = value; }
    }
}

我的部分页面:

@model List<int>

//do something with model

我的主页:

@model somenamespace.test

@Html.Partial("~/Views/Test/partial.cshtml", model.abc)

但是在尝试访问该页面时出现此错误:

  

传递到字典中的模型项是类型的,但是这个字典需要一个类型为&#39; System.Collections.Generic.List`1 [System.Int32]&#39;的模型项。

我很困惑,因为我的部分视图接受整数列表,并且我将整数列表作为数据类型传递属性,我的代码有什么问题?

对于糟糕的英语,任何帮助都会受到赞赏和抱歉。

1 个答案:

答案 0 :(得分:1)

您的属性abcnull,默认情况下,test模型会传递给部分,从而导致错误。确保在控制器中初始化abc,或在test

的无参数构造函数中初始化public class test { public test() { abc = new List<int>(); } public List<int> abc { get; set; } }

例如

{{1}}