我发现自己经常创建添加/编辑/删除/列表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表单,其中的字段与我提供的对象的公共属性的数据类型相匹配。
答案 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#代码,如果您发现自己的需求超出了项目的原始范围,则可以更改代码以提供更多功能。