2014-01-20 46 views
0

我有一个强类型的视图从模型类。我想在那里添加一个可以传递数字的文本字段。这个数字应该告诉控制器,对象应该多长时间添加到数据库中。但在查看我只有提交按钮和我的控制器功能处理此回发如何处理提交的表单?

' 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

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

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

+0

谢谢,它的工作原理! – circa94

+0

没问题,但请确保使用模型发送和接收值。如果只有一个或两个奇数参数需要传递,那么你可以使用上面的方法,但如果你处理的参数超过2个,这是一个不好的做法。使用模型保持您的编程清洁整齐。 –

0

你应该能够简单的<input ... />添加到您的形式与ID,和MVC将采取的值绑定到你的amount参数照顾。