我正在尝试将id从页面传递到提交表单,但似乎没有运气。
@model IList<MySiteCom.ViewModels.ReviewViewModel>
@for (int i = 0; i < Model.Count(); i++)
{
@Html.HiddenFor((x => x[i].ReviewId))
@Html.ActionLink("comment", "AddComent", new { id = @Html.DisplayFor(x => x[i].ReviewId) })
}
第2页
@model MySiteCom.Models.Comments
@Html.HiddenFor(a => a.review.ReviewId)
@using (Html.BeginForm())
答案 0 :(得分:2)
您可以将隐藏字段值从一个View传递给Controller,然后在TempData,ViewBag或ViewData等帮助下将值从Controller传递到另一个View。您可以直接使用模型的属性名称来使用HiddenFor如下图所示:
查看I:
@model IList<MySiteCom.ViewModels.ReviewViewModel>
@foreach (var review in Model)
{
<input type="hidden" name="ReviewId" value=review.ReviewId />
@Html.ActionLink("comment", "AddComent", new { id = review.ReviewId })
}
的 控制器: 强>
public ActionResult AddComment([Bind(Exclude = null)] ReviewViewModel review)
{
//...
TempData["revId"] = review.ReviewId;
{
查看II:
var value = @TempData["revId"]
有关ViewBag,ViewData或TempData之间的差异,您可以查看When to use ViewBag, ViewData, or TempData in ASP.NET MVC 3 applications。希望这会有所帮助...