插入更新 - 删除Web GUI

时间:2011-10-19 18:20:45

标签: c# html web

我发现自己经常创建添加/编辑/删除/列表GUI,以至于我厌倦了它。 必须有一些免费的解决方案,对吧?

我想要的是这样的:

 {
    MyApplicationUser user = MyApplication.GetUserByID(1234);
    EditForm form = new EditForm("Title: Edit User"); //this is the magic object

    form.addFieldsFromObject(user);
 }


 function onFormSubmit(eventArgs e){
     MyApplicationUser user = form.GetSubmittedData();
     MyApplication.SaveUser(user);
 }

AddFieldsFromObject会自动创建一个html表单,其中的字段与我提供的对象的公共属性的数据类型相匹配。

1 个答案:

答案 0 :(得分:1)

有许多框架试图解决这个问题。 ASP.NET Dynamic Data可能是一个很好的起点。它使用基于模板的系统,以非常少的自定义代码提供基本的CRUD(创建,检索,更新,删除)用户界面。

ASP.NET MVC的编辑器模型也做得很好:

// View code
@using(Html.BeginForm(...)) {
    @Html.EditorForModel()
}

// Action code
public ActionResult ShowForm(int userId)
{
    var model = // get model from user ID;
    return View(model);
}


public ActionResult SaveForm(Model model)
{
    if(ModelState.IsValid)
    {
        // Save model
    }
}

LightSwitch尝试通过自动生成基本脚手架代码来解决同样的问题,以产生类似于Microsoft Access的体验。但由于它使用的是实际的C#代码,如果您发现自己的需求超出了项目的原始范围,则可以更改代码以提供更多功能。