我的.Net MVC模型中的字符串返回null但List返回正常

时间:2014-02-05 21:34:24

标签: c# asp.net-mvc

例如在我的模型类

public class Dashboard
{
    public Dashboard(Account account)
    {
        AccountListName = new List<string>();
        AccountListName.Add(account.Name);

        string AccountName = account.Name;

    }
    public List<string> AccountListName { get; set; }

    public string AccountName { get; set; }

}

当我在控制器中调用模型时。

var model = new DashBoard(account);

模型将正确包含AccountListName,但AccountName将返回null。为什么AccountName在将其绑定到account.Name时返回null?与string类型有任何奇怪的互动吗?我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

您已在函数的本地范围内第二次声明AccountName。您正在设置此项而不是仪表板的属性。

答案 1 :(得分:2)

因为您在构造函数中重新定义了一个更远的AccountName范围,该范围从不为您的属性赋值。

string AccountName = account.Name;

只需删除string即可。我很惊讶编译器没有警告你。

答案 2 :(得分:1)

使用:

this.AccountName = account.Name

而不是:

string AccountName = account.Name

您不小心将AccountName重新定义为本地变量,而不是分配您的财产。