2

ASP MVC 脚手架创建 Index、Create、Update、Delete 视图,但这在现实中是多么实用。创建、更新和删除视图似乎有很多重复的 UI 代码。让一个视图用于列表,另一个视图用于添加/编辑,并使用一些开关来适当地格式化视图以进行添加或编辑,并允许删除列表和编辑视图而不重定向到另一个视图,而不是简单地弹出,这不是更实用吗?出现某种“请确认删除...”消息?

如果有人做过这样的事情并愿意分享一些代码片段或通用案例的 T4 脚手架模板,将不胜感激。

4

1 回答 1

3

实际上,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' />
    }
}
于 2012-04-25T22:17:31.453 回答