如何在模型中初始化值
本文关键字:初始化 模型 | 更新日期: 2023-09-27 18:02:05
我有这样一个类:
public class TicketPayoutModel
{
public string Logo { get; set; }
}
在MainModel我有这个:
public TicketPayoutModel TicketPayOut { get; set; }
我这样做:
TicketPayOut = new TicketPayoutModel();
TicketPayOut.Logo = "test";
,当我尝试在视图中这样调用它时:@Model.TicketPayOut.Logo
,我得到一个null。我不确定我做错了什么?任何建议吗?
编辑:this is my controller:
public ActionResult PayOutConfirmation()
{
return View(new TicketPayOutModel());
}
你可以在模型的构造函数中初始化你的值。
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"));
}
@Model。Logo不是@Model.TicketPayOut.Logo
为了测试,你可以return View(new TicketPayOutModel{Logo = "foo"});
看看你的控制器,你正在传递一个新的TicketPayOutModel
实例给你的视图,这个的logo属性没有初始化,所以它会给null
。
像这样修改你的控制器方法-
public ActionResult PayOutConfirmation()
{
var ticketPayOutModel = new TicketPayoutModel();
ticketPayOutModel .Logo = "test";
return View(ticketPayOutModel );
}