【发布时间】:2014-03-27 09:05:34
【问题描述】:
我在查询字符串中有几个我想要的空路由值:
var routeValues = new RouteValueDictionary();
routeValues.Add("one", "");
routeValues.Add("two", null);
routeValues.Add("three", string.Empty);
如果我将它传递给UrlHelper.RouteUrl(),它将忽略所有值并且生成的查询字符串为空。然而,像/?one=&two=&three= 这样的网址是完全有效的。我该怎么做?
【问题讨论】:
-
String.Empty是否产生相同的结果? -
确实如此。更新了帖子。
-
我没有看到这里的问题。
-
我也没有。在你的控制器中,参数应该是
null,这样你就会得到一个没有值被传递的指示。如果您确实希望将它们用作标志,为什么不直接传递/?one=true&two=false&three=true?这对我来说更有意义。 -
null和空字符串之间有明显的区别,我想保持查询字符串更短。
标签: asp.net .net asp.net-mvc asp.net-mvc-5