例如在我的模型类
中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
类型有任何奇怪的互动吗?我该如何解决这个问题?
答案 0 :(得分:2)
您已在函数的本地范围内第二次声明AccountName。您正在设置此项而不是仪表板的属性。
答案 1 :(得分:2)
因为您在构造函数中重新定义了一个更远的AccountName范围,该范围从不为您的属性赋值。
string AccountName = account.Name;
只需删除string
即可。我很惊讶编译器没有警告你。
答案 2 :(得分:1)
使用:
this.AccountName = account.Name
而不是:
string AccountName = account.Name
您不小心将AccountName
重新定义为本地变量,而不是分配您的财产。