这是对此的跟进: What does MVC3 do with C# Optional Parameters?
我有以下签名的行动:
public ViewResult Show(int Id, PublishingErrorSummary pubErrors=null, String title=null)
在请求server / show / 1时,pubErrors不为null,但title为null。这怎么可能?这些只是两个对象,但字符串以某种方式设法变为null。我在哪里可以解决这个问题?
编辑:添加了类定义
public class PublishingErrorSummary
{
public List<string> StepOneErrors { get; set; }
public List<string> StepTwoErrors { get; set; }
public List<string> StepThreeErrors { get; set; }
public List<string> StepFourErrors { get; set; }
}
答案 0 :(得分:3)
PublishingErrorSummary
是一个复杂的对象。默认模型绑定程序始终初始化复杂对象。将其默认值设置为null并没有多大意义。同样代表title参数。字符串是引用类型,如果没有发送请求参数title
,它们的默认值无论如何都将为空。