我有使用RouteValueDictionary和UrlHelper在ASP.NET MVC3中构建Urls的代码。我遇到的问题是MVC对字典中的类型调用ToString()。对于我正在使用的特定类型,这不是我想要在Uri中的值。我无法更改ToString实现。
我理解如何创建一个ModelBinder来处理来自Uri的反序列化,而不是序列化部分。如何以及如何注册以控制类型如何转换为Uri参数?
谢谢, 埃里克
答案 0 :(得分:0)
对于我正在使用的特定类型,这不是我想要在Uri中的值
然后不要使用此类型。将您想要的值直接作为字符串中的字符串传递:
rvd["key"] = "the value you want";
而不是:
rvd["key"] = new SomeType { Foo = "foo", Bar = "bar" };
您的类型及其字符串表示形式之间的转换应在其他地方处理。