Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 我如何处理提交的表格?_Asp.net Mvc_Vb.net_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 我如何处理提交的表格?

Asp.net mvc 我如何处理提交的表格?,asp.net-mvc,vb.net,asp.net-mvc-4,Asp.net Mvc,Vb.net,Asp.net Mvc 4,我有一个来自模型类的强类型视图。我想在那里添加一个文本字段,在这里我可以传递一个数字。这个数字应该告诉控制器,对象应该多长时间添加到数据库。但是在视图中,我只有submit按钮,我的控制器函数处理这个回发 ' POST: /Adminpanel/AddHardware ' <Authorize()> <HttpPost> Function AddHardware(ByVal hw As Hardware) As ActionResult If ModelState

我有一个来自模型类的强类型视图。我想在那里添加一个文本字段,在这里我可以传递一个数字。这个数字应该告诉控制器,对象应该多长时间添加到数据库。但是在视图中,我只有submit按钮,我的控制器函数处理这个回发

' 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

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

您只需向表单中添加一个id为amount的,MVC将负责将该值绑定到amount参数。

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


注意:绑定取决于元素的名称。如果输入标记具有名称amount,并且在控制器参数中具有参数amount,则MVC将该值绑定到此参数。因此,请始终确保元素名称和参数名称相同。

没问题,但请确保使用模型发送和接收值。如果只需传递一个或两个奇数参数,则可以使用上述方法,但如果要处理两个以上的参数,则这是一种不好的做法。使用保持编程整洁的模型。