我正在编写代码以使用JavaScript和VB.NET MVC执行CRUD操作。我需要一种方法来将Controller中的参数发送到View,但是我不知道如何从URL中捕获值。
以下是我的控制者:
' GET: Bodega/Index/5
Function Edit(ByVal id As Integer, ByVal collection As FormCollection) As ActionResult
Try
Dim constr As String = ConfigurationManager.ConnectionStrings("conexion").ConnectionString
Using con As New SqlConnection(constr)
Using cmd As New SqlCommand("SELECT * FROM bodega WHERE id = @Id")
cmd.Parameters.AddWithValue("@Id", id)
cmd.Connection = con
Dim data As New List(Of Bodega)()
con.Open()
Using sdr As SqlDataReader = cmd.ExecuteReader()
While sdr.Read()
data.Add(New Bodega() With {
.id = Convert.ToInt32(sdr("id")),
.nombre = sdr("nombre").ToString(),
.ubicacion = sdr("ubicacion").ToString(),
.lugar = sdr("lugar").ToString(),
.lat = sdr("lat").ToString(),
.lng = sdr("lng").ToString()
})
End While
End Using
con.Close()
Return View("Index", id)
End Using
End Using
Catch e As Exception
Return RedirectToAction("Index")
End Try
End Function
我正在通过return
语句将ID发送到视图,但是在视图中我不知道可以使用什么命令。
URL格式为:
localhost / Bodega / Edit / 5
我需要捕获ID5。如果可能的话,保存到隐藏的输入中或发送到javascript代码以加载输入的数据预加载。
答案 0 :(得分:0)
在调用“编辑”操作的“编辑”视图中,确保将路由值称为id,以便它可以绑定到id参数。另外,您似乎没有使用FormCollection参数。您是否要将要创建的新Bodega实例传递给视图而不是ID?我猜您正在寻找要在编辑视图中编辑的Bodega吗?