想象一下这个案例:
颜色有id。很容易。
根据用户的语言pref,相同的颜色可以有不同的显示名称。搜索查询和个人偏好
此显示名称未定义,但需要将其传递到每个页面,以便每次提到颜色时用户都会遇到相同的标签。
此外,(并且只是为了保持这个解释简短,请跟我一起)这个名字也可以是空白的(所以参数是可选的)。
由于有许多这样的参数,并且参数是可选的,我不想将所有这些可选参数推送到丑陋的查询字符串,我已经创建了一个URL参数来识别基本上放置颜色id的颜色和一个参数中的可选参数,用自定义分隔符分隔。
示例:
我有一个生成此字符串的helper方法和一个解析此字符串的方法。
到目前为止它的工作正常,但我觉得可能有更好的方法来做到这一点。有什么建议吗?
答案 0 :(得分:0)
对我看起来不错;您可能想要查看是否可以在解析层中使用“模型绑定器”,以便在路径中仅使用{id},并使用SomeAction(MyColor id)
,并让model-binder自动解析{{ 1}}。或者(也许更简单),我似乎重申它也将在这里使用id
- 所以也许为你的颜色类/结构(TypeConverter
上面写一个TypeConverter
。
示例转换器:
MyColor