ASP MVC脚手架创建索引,创建,更新,删除视图,但实际上是多么实际。使用“创建”,“更新”和“删除”视图时,UI代码似乎有很多重复。将一个视图用于列表而另一个视图用于添加/编辑并使用一些开关来适当地格式化视图以进行添加或编辑,并允许删除列表和编辑视图而不重定向到另一个视图,而不是简单地弹出是不是更实际某种“请确认删除...”的消息?
如果有人做过这样的事情,并且愿意为一般案例分享一些代码片段或T4脚手架模板,我们将不胜感激。
答案 0 :(得分:3)
实际上,使用 CreateOrEdit 部分视图,NuGet包MvcScaffolding正是如此。 (See here.)然后通过引用局部视图(分别针对不同的控制器操作)创建添加/编辑视图:
<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' />
}
}