0

我有使用 RouteValueDictionary 和 UrlHelper 在 ASP.NET MVC3 中构建 Url 的代码。我遇到的问题是 MVC 对字典中的类型调用 ToString() 。对于我正在使用的特定类型,这不是我想要在 Uri 中的值。我无法更改 ToString 实现。

我了解如何创建一个 ModelBinder 来处理来自 Uri 的反序列化,但不了解序列化部分。为了控制如何将类型转换为 Uri 参数,我应该如何注册以及注册什么?

谢谢,埃里克

4

1 回答 1

0

对于我正在使用的特定类型,这不是我想要在 Uri 中的值

然后不要使用这种类型。将您想要的值直接作为字典中的字符串传递:

rvd["key"] = "the value you want";

代替:

rvd["key"] = new SomeType { Foo = "foo", Bar = "bar" };

您的类型与其字符串表示之间的转换应在其他地方处理。

于 2012-07-20T05:53:08.777 回答