1

这是对此的后续: MVC3 对 C# 可选参数做了什么?

我有一个带有以下签名的动作:

public ViewResult Show(int Id, PublishingErrorSummary pubErrors=null, String title=null)

在请求 server/show/1 时,pubErrors 不为空,但标题为空。这怎么可能?这些只是两个对象,但字符串以某种方式设法变为空。我在哪里可以解决这个问题?

编辑:添加了类定义

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; }
}
4

1 回答 1

3

PublishingErrorSummary是一个复杂的对象。默认模型绑定器始终初始化复杂对象。将其默认值设置为 null 并没有什么意义。同样代表标题参数。字符串是引用类型,如果没有发送请求参数,它们的默认值为 null title

于 2012-03-18T15:06:10.347 回答