ASP MVC 脚手架创建 Index、Create、Update、Delete 视图,但这在现实中是多么实用。创建、更新和删除视图似乎有很多重复的 UI 代码。让一个视图用于列表,另一个视图用于添加/编辑,并使用一些开关来适当地格式化视图以进行添加或编辑,并允许删除列表和编辑视图而不重定向到另一个视图,而不是简单地弹出,这不是更实用吗?出现某种“请确认删除...”消息?
如果有人做过这样的事情并愿意分享一些代码片段或通用案例的 T4 脚手架模板,将不胜感激。
ASP MVC 脚手架创建 Index、Create、Update、Delete 视图,但这在现实中是多么实用。创建、更新和删除视图似乎有很多重复的 UI 代码。让一个视图用于列表,另一个视图用于添加/编辑,并使用一些开关来适当地格式化视图以进行添加或编辑,并允许删除列表和编辑视图而不重定向到另一个视图,而不是简单地弹出,这不是更实用吗?出现某种“请确认删除...”消息?
如果有人做过这样的事情并愿意分享一些代码片段或通用案例的 T4 脚手架模板,将不胜感激。
实际上,NuGet 包 MvcScaffolding 正是这样做的,它使用CreateOrEdit局部视图。(参见此处。)然后通过引用部分视图(分别针对不同的控制器操作)创建添加/编辑视图:
<fieldset>
@Html.Partial("_CreateOrEdit", Model)
<input type="submit" value="Create" />
</fieldset>
另一种选择是使用默认的 MVC 脚手架(在模型中使用数据注释属性定义)。
<fieldset>
@Html.EditorForModel()
<input type="submit" value="Create" />
</fieldset>
至于删除,您始终可以在任何视图的底部(或列表中)添加第二个迷你表单:
@{ using (Html.BeginForm("Delete", "MyController", FormMethod.Post))
{
@Html.HiddenFor(model => model.id)
<input type='submit' value='Delete' />
}
}