在我的 MVC 项目中,我在“索引”页面上有三个链接,它们都启动相同的“创建”视图。我想向视图传递一个标志,以允许我确定哪些链接用于启动视图。
我通过创建我的类的新实例、设置“模式”属性并将模型传递给视图来实现这一点。
例如,在“索引”视图中,我有:
@Html.ActionLink("My Link 1", "Create", New With {.id = 1}, Nothing)
@Html.ActionLink("My Link 2", "Create", New With {.id = 2}, Nothing)
@Html.ActionLink("My Link 3", "Create", New With {.id = 3}, Nothing)
我的控制器中的“创建”将是:
Function Create(id As Integer) As ActionResult
Dim myObject As myObject = New myObject
myObject.Mode = id
Return View(myObject)
End Function
这似乎只有在我的视图中有一个引用“模式”属性的编辑器时才有效。如果我将以下代码留在我的视图中,一切正常,但是如果删除它(因为我不想在表单上显示它),“模式”属性始终设置为 0。
<div class="editor-label">
@Html.LabelFor(Function(model) model.Mode)
</div>
<div class="editor-field">
@Html.EditorFor(Function(model) model.Mode)
@Html.ValidationMessageFor(Function(model) model.Mode)
</div>
如何设置“模式”而不在我的视图中显示?