我该如何处理提交的表格?

时间:2014-01-20 23:14:05

标签: asp.net-mvc vb.net asp.net-mvc-4

我有一个来自模型类的强类型视图。我想在那里添加一个文本字段,我可以传递一个数字。该数字应该告诉控制器,对象应该多久添加到数据库中。但是在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

如何在视图中添加此文本字段并将值传递给控制器​​?

2 个答案:

答案 0 :(得分:0)

您应该只需在 ID 金额的表单中添加<input ... />,MVC将负责将值绑定到您的amount参数。

答案 1 :(得分:0)

在视图中(在表单内)添加一个输入元素,并为其命名=“amount”。当提交表单时,MVC会自动将视图中的值绑定到您的控制器。您可以直接在控制器中访问amount的值。

注意:绑定取决于元素的名称。如果输入标记的名称为amount,并且在控制器参数中,如果您有参数amount,则MVC会将值绑定到此参数。因此,请务必确保element nameparameter name相同。