У меня есть сильный типизированный вид из класса модели. Я хотел бы добавить там текстовое поле, где я могу передать число. Это число должно было сообщить контроллеру, как часто объект должен быть добавлен в базу данных. Но в представлении я только кнопку отправки, и моя функция контроллер обрабатывает эту PostbackКак я могу обработать поданную форму?
' 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
Как я могу добавить это текстовое поле, на мой взгляд и передать значение для контроллера?
спасибо, он работает! – circa94
Нет проблем, но убедитесь, что вы используете модели для отправки и получения значений. Если необходимо передать только один или два нечетных параметра, вы можете использовать вышеупомянутый подход, но это плохая практика, если вы имеете дело с более чем двумя параметрами. Используйте модели, которые поддерживают ваше программирование в чистоте и порядке. –