Dav*_*vid 16 asp.net-mvc asp.net-mvc-3
"添加"和"修改"视图通常或多或少相同.我如何重新使用视图,以便Foos/Add和Foos/Edit/[Id]两个使用它?这些动作会是什么样的?
谢谢
Dav*_*enn 25
只需在调用View()方法时指定视图名称即可
public ViewResult Add() {
//...
return View("Foo");
}
public ViewResult Edit(int id) {
//...
var model = repository.get(id);
return View("Foo", model);
}
Run Code Online (Sandbox Code Playgroud)
您的视图必须处理操作的空/空模型值,Add或者您可以使用默认值填充模型.
您可能需要考虑使用编辑器模板而不是重用相同的视图.编辑器模板是用于编辑和/或插入数据的部分视图.
这需要单独的视图,但代码将是最小的.大部分代码都位于模板中,您可以将其重复用于"添加"和"编辑"操作.
您以后创建模板,您添加视图看起来像(剃刀):
@model Models.Foo
<h2>Add</h2>
<p>
@Html.EditorFor(model => model) // equivalent to EditorForModel()
</p>
Run Code Online (Sandbox Code Playgroud)
您的编辑视图将如下所示:
@model Models.Foo
<h2>Edit</h2>
<p>
@Html.EditorFor(model => model) // equivalent to EditorForModel()
</p>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4779 次 |
| 最近记录: |