我有一个来自模型类的强类型视图。我想在那里添加一个文本字段,我可以传递一个数字。该数字应该告诉控制器,对象应该多久添加到数据库中。但是在View中我只有提交按钮,我的控制器功能处理这个回发
' POST: /Adminpanel/AddHardware '
<Authorize()>
<HttpPost>
Function AddHardware(ByVal hw As Hardware) As ActionResult
If ModelState.IsValid Then
db.Hardware.Add(hw)
db.SaveChanges()
Response.Redirect("~/Adminpanel/Hardware")
Else
Response.Redirect("~/Adminpanel/Hardware")
End If
End Function
应该是这样的:
' POST: /Adminpanel/AddHardware '
<Authorize()>
<HttpPost>
Function AddHardware(ByVal hw As Hardware, ByVal amount As Integer) As ActionResult
If ModelState.IsValid Then
For i As Integer = 0 To amount
db.Hardware.Add(hw)
db.SaveChanges()
Next
Response.Redirect("~/Adminpanel/Hardware")
Else
Response.Redirect("~/Adminpanel/Hardware")
End If
End Function
如何在视图中添加此文本字段并将值传递给控制器?
答案 0 :(得分:0)
您应该只需在 ID 金额的表单中添加<input ... />
,MVC将负责将值绑定到您的amount
参数。
答案 1 :(得分:0)
在视图中(在表单内)添加一个输入元素,并为其命名=“amount”。当提交表单时,MVC会自动将视图中的值绑定到您的控制器。您可以直接在控制器中访问amount
的值。
注意:绑定取决于元素的名称。如果输入标记的名称为amount
,并且在控制器参数中,如果您有参数amount
,则MVC会将值绑定到此参数。因此,请务必确保element name
和parameter name
相同。