asp.net mvc应用程序中的通用数据输入表单

时间:2010-04-07 20:39:46

标签: asp.net-mvc entity-framework

我有一个具有共享此信息的EF 16类的应用程序:它们都是仅包含关键字段和描述的类。 我认为如果我只使用一种方法创建一个控制器只是为了填充这些类信息,然后我想创建一个通用表单(带有键,描述)并动态填充正确的类,这应该是浪费一种选择任何方式的选定信息,任何好的建议或模式来做到这一点?应该找到通用方法。

2 个答案:

答案 0 :(得分:0)

你有没有看过MVC templates?您应该能够使用模板自动“生成”您的编辑和显示视图。无需为每个类创建不同的视图。

答案 1 :(得分:0)

我有类似的情况并且几乎就是这样:

interface IKeyDescription
{
    int Key { get; set; }
    string Description { get; set; }
}

public partial class Class1 : IKeyDescription;
public partial class Class2 : IKeyDescription;

public abstract class BaseKeyDescriptionController<T> where T : IKeyDescription
{
    [Inject]
    public IKeyDescriptionService<T> Service { get; set; }

    [HttpGet]
    public ActionResult List()
    {
         //View is stored in shared folder
         return View("List",Service.List());
    }

    [HttpPost]
    public ActionResult List(IList<T> elements)
    {
         Service.Save(elements);
         ....
    }
} 

public class Class1Controller : BaseKeyDescriptionController<Class1>
{
}

public class Class2Controller : BaseKeyDescriptionController<Class2>
{
}

视图将从System.Web.Mvc.ViewPage<IKeyDescription>继承。