我有这堂课:
public class TicketPayoutModel
{
public string Logo { get; set; }
}
在MainModel中我有这个:
public TicketPayoutModel TicketPayOut { get; set; }
我这样做:
TicketPayOut = new TicketPayoutModel();
TicketPayOut.Logo = "test";
当我尝试在这个视图中调用它时:@Model.TicketPayOut.Logo
我得到一个null。我不确定自己做错了什么?有什么建议吗?
编辑:这是我的控制人员:
public ActionResult PayOutConfirmation()
{
return View(new TicketPayOutModel());
}
答案 0 :(得分:0)
您可以在模型的构造函数中初始化您的值。
public class TicketPayoutModel
{
public TicketPayoutModel()
{
this.Logo = string.Empty;
}
public string Logo { get; set; }
}
或使用新的C#6变体:
public class TicketPayoutModel
{
public string Logo { get; set; } = string.Empty;
}
您也可以通过构造函数的参数初始化您的值:
public class TicketPayoutModel
{
public TicketPayoutModel(string logo)
{
this.Logo = logo;
}
public string Logo { get; set; }
}
public ActionResult PayOutConfirmation()
{
return View(new TicketPayOutModel("logo.png"));
}
答案 1 :(得分:0)
@ Model.Logo not @ Model.TicketPayOut.Logo
要测试,你可以 return View(new TicketPayOutModel {Logo =“foo”});
答案 2 :(得分:0)
查看您的控制器,您将新的TicketPayOutModel
实例传递给您的视图,此徽标属性未初始化,因此它将提供null
。
使用类似的东西修改控制器方法 -
public ActionResult PayOutConfirmation()
{
var ticketPayOutModel = new TicketPayoutModel();
ticketPayOutModel .Logo = "test";
return View(ticketPayOutModel );
}