【发布时间】:2010-07-08 18:22:24
【问题描述】:
如果您要编写一个函数/方法,该函数/方法将针对输入的字符串或 slug(例如在创建或编辑视图中)进入数据存储并检查该字符串或 slug 是否存在,在这种情况下创建指向它的链接,你会把它放在哪里?
例如,我们在创建或编辑表单上有一个“链接”文本框。我有一个连接到它的 jQuery 自动完成功能,它可以检索现有的 Page slug。如果用户决定选择其中一个,我们将根据页面控制器创建一个指向我们网站内容的链接,如下所示:
~/Page/Display/some-slug
或者只是
~/Page/some-slug
但是,如果用户决定不选择任何内容并输入例如 www.google.com,我们会在 ParseUrl() 中捕获它,并使用 http://... 等对其进行格式化并像这样存储它。
该函数的代码没有问题,我目前在模型绑定器中工作。但是,由于在 Model Binders 中使用 DI 的奇怪、令人困惑和相反的做法,我想将它移到其他地方。另一个原因是从模型绑定器中删除数据访问代码。
问题是 - 将这种功能转移到哪里?如果可能的话,我想避免在各种控制器操作中重复 ParseUrl() 调用。
【问题讨论】: