我最近一直在使用Django,我真的很喜欢它的内置管理界面.我想知道是否有任何C#MVC项目我们在那里模仿django管理员的易用性和结构?
(我不是要在MVC中使用整个django模型,只是寻找它的管理部分)
有足够的时间和EditorTemplates&DisplayTemplates我可以使用创建一个每个站点类似的定制 Html.DisplayForModel()
和Html.EditorForModel()
,但不是所有的,将可重复使用的,我也没有得到解决,以做类似的东西(虽然我可能会说路线)并且设置需要更长的时间.我的Django的admin.py的经验是,10至15行代码走一段很长很长很长的方式.
我之前使用过EntitySpaces,他们提供了一个web-admin网格,但是a)它的web表单,b)它继续使用它开发得越来越少支持c)你不能真正使用它和LINQtoSQL同时,我发现L2S需要更少的开销.
你知道的任何建议或项目吗?
谢谢!
我有一个C#MVC应用程序,我按以下方式分解:View - > Controller - > Service - > Repository
我使用瘦控制器练习,每个视图都有一个从相关服务返回的唯一视图模型.
快速示例:查看:/ NewAppointment/Step1
它的控制器看起来像这样:
public ActionResult Step1()
{
return View(_appointmentService.Step1GetModel() );
}
Run Code Online (Sandbox Code Playgroud)
约会服务层看起来像这样:
public Step1Model Step1GetModel()
{
return new Step1Model();
}
Run Code Online (Sandbox Code Playgroud)
因此,我在整个应用程序中使用了几个不同的服务层,每个服务层实现了一个独特的界面.
当我需要让一个服务层与另一个服务层交互时,我的问题就出现了.在这种情况下,是不是更好的做法是通过一个接口引用服务调用,或者我应该让控制器手柄收集所有数据,然后通过相关结果反馈给服务?
例:
假设我想默认使用客户的信息填充我的视图模型.我看到这样做的两种方式是:
传递一个用户界面参考预约服务,然后让预约服务呼叫客户服务适当GETCUSTOMER方法...
在代码中:
private ICustomerService _customerService;
private IAppointmentService _appointmentService;
public ActionResult Step1()
{
var viewModel = _appointmentService.Step1GetModel( _customerService );
return View(viewModel);
}
Run Code Online (Sandbox Code Playgroud)
要么
让控制器处理获取客户的逻辑,然后将该结果传递给约会服务.
在代码中:
private ICustomerService _customerService;
private IAppointmentService _appointmentService;
public ActionResult Step1()
{
var customer = _customerService.GetCustomer();
var viewModel = _appointmentService.Step1GetModel( customer );
return …
Run Code Online (Sandbox Code Playgroud)