在我的asp.net mvc页面中,我想调用RedirectToAction(actionName,controllerName,values)。
values参数是一个包含所有nessecary值的对象。 实施例
return RedirectToAction(redirectAction, redirectController,
new{ personId = foundId,
personEmail = foundEmail,
personHeigh = foundHeight});
如果这些参数都不为null或为空字符串,那就没关系。
发生这种情况时,System.Uri.EscapeDataString(String stringToEscape)抛出ArgumentNullException。
问题是我在编译时不知道哪些参数将为null。另外,我宁愿不为每个可能的notnull值组合制作一个对象
在我的例子中,只有三个参数,但如果有10个?可能的组合呈指数增长。
由于无法向anon类型添加字段,因此我无法逐个添加参数。
我该如何解决这个问题?
答案 0 :(得分:2)
您可以强制使用非空值...
return RedirectToAction(redirectAction, redirectController,
new{ personId = foundId,
personEmail =foundEmail ?? string.Empty,
personHeigh = foundHeight ?? string.Empty});