如果您要编写一个函数/方法,对于输入的字符串或slug(例如在Create或Edit视图中),请进入数据存储并检查该字符串或slug是否存在,并在此情况下创建一个指向它的链接,你会把它放在哪里?例如,我们在创建或编辑表单上有一个“链接”文本框。我有一个jQuery自动完成连接到它,它检索现有的Page slugs。如果用户决定选择其中之一,我们将创建一个指向我们的网站内的内容的链接,基于页面控制器上,像这样:在ASP.NET MVC中,将ParseUrl()或类似函数用于数据存储的位置?
~/Page/Display/some-slug
或只是
~/Page/some-slug
如果然而,用户决定不选择任何东西和输入,例如www.google.com,我们在我们的ParseUrl()中捕获它,用http:// ...等格式化并像这样存储它。
该函数的代码没有问题,我现在在模型活页夹中工作。但是,由于在模型绑定器中DI与奇怪,混淆和反对的做法,我想将它移动到别的地方。另一个原因是从模型绑定器中删除数据访问代码。
问题是 - 在哪里移动这种funcionality?如果可能的话,我想避免在各种控制器操作中重复ParseUrl()调用。
针对模型活页夹中DI的参数: http://stackoverflow.com/questions/2899680/how-to-use-ninject-or-other-di-ioc-container-with-the-model-binder-in -asp-net 模型活页夹中DI的参数和代码: http://iridescence.no/post/Constructor-Injection-for-ASPNET-MVC-Model-Binders.aspx http://www.dominicpettifer.co .UK /博客/ 39 /依赖性喷射在-ASP净MVC-2 ---部-2 - modelbinders-的ViewModels – mare 2010-07-08 21:56:51