가 나는 FormMethod 포스트에 문제가 반환, 나는 하나 개의 값 (ID)를 게시하고 세션 변수에 저장하기 위해 노력하고있어,하지만 값은 0을 반환FormMethod.Post 0
이것은 내 암호.
@foreach (var item in Model)
{
using (@Html.BeginForm("Index", "ProductSelec", FormMethod.Post))
{
@Html.HiddenFor(modelItem => item.id, new { value = "@Html.DisplayFor(modelItem => item.id)" })
<div class="AppOpt">
<button type="submit" name="submit" style="background-image: url('../Content/ICONS/SystemApp/@Html.DisplayFor(modelItem => item.img)');border-radius: 20px;background-size: cover;background-repeat: no-repeat;" class="AppImg">
<div class="OptNameRec">
<div class="OptIcon">
<img src='~/Content/ICONS/@Html.DisplayFor(modelItem => item.icon)'>
</div>
<div>
<p>@Html.DisplayFor(modelItem => item.nombre)</p>
</div>
<div class="clear"></div>
</div>
<div class="OptImage"></div>
</button>
</div>
}
}
양식은 foreach 안에 있습니다. DB에서 dinamically 요소를 생성하기 때문에 양식이 foreach 안에 있습니다.
클릭하여 item.id를 저장하고 싶습니다.
이
내 컨트롤러 public ActionResult Index()
{
return View(db.aplicaciones.ToList());
}
public ActionResult ProductFamily()
{
return View();
}
[HttpPost]
public int Index(aplicaciones aplicaciones)
{
Session["appID"] = aplicaciones.id;
return aplicaciones.id;
}
이며,이 내 모델입니다.
public partial class aplicaciones
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public aplicaciones()
{
this.appNfam = new HashSet<appNfam>();
}
public int id { get; set; }
public string nombre { get; set; }
public string icon { get; set; }
public string img { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<appNfam> appNfam { get; set; }
}
다른 모델을 만들려고했지만 추가 할 때 foreach가 데이터베이스에서 값을 읽지 않았습니다.
도와 주시면 감사하겠습니다.
왜 'foreach'앞에 "@"가 있습니까? –