guys. I use Asp.net MVC and C#. I have 2 buttons for every object on page. First button for add in shop cart, second button for view details. So this buttons generate for every object in my model. I want to pass id field into controller, but i always got id = 1 in action. How i can pass the right id? Can someone explain ?
Here is form:
@model IEnumerable<StickerOn.Models.Sticker>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm("RedirectButton", "Sticker", FormMethod.Post))
{
<div style="margin-left:50px">
<div class="body-content">
@for (int i = 0; i < Model.Count() - 1; i++)
{
<div class="row">
@foreach (var item in Model)
{
<div class="col-md-4">
<div class="thumbnail">
<img src="@item.ImgToReprs" alt="..." width="200" height="100">
<div class="caption">
<h3>@item.Name</h3>
@Html.DisplayFor(m => item.id)
<input type="hidden" name="id" value="@item.id" />
<p><button type="submit" id="@item.id" name="submitButton" class="btn btn-success"><i class="glyphicon glyphicon-shopping-cart"></i></button><input type="submit" name="submitButton" class="btn btn-default" value="..." /></p>
</div>
</div>
</div>
}
</div>
}
</div>
</div>
}
And my controller:
[HttpPost]
public ActionResult RedirectButton(int? id,string submitButton)
{
var g = Request.Form["id"];
switch(submitButton)
{
case "...":
return Details(1);
case "":
break;
}
return View();
}