0
我想从视图传递数据到控制器,但它总是返回0,我不知道为什么。 我必须验证入侵代码是否与在ActionResult Sortie()的参数中传递的代码相同,但我无法获取在视图中进入的值。从视图传递数据到控制器在asp.net中失败mvc
查看:
@model ViewModel.DemandeViewModel
@{
ViewBag.Title = "Sortie";
}
<div class="col-xs-12">
<div class="box">
<h2>Sortie Gabarit</h2>
@using (Html.BeginForm("Sortie", "Demandes", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.CodeBarre)
@ViewBag.error
@Html.ValidationMessage("error_msg")
<div class="form-group">
@Html.LabelFor(model => model.CodeBarre, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.CodeBarre, new { htmlAttributes = new { @class = "form-control", @name = "codeB" } })
@Html.ValidationMessageFor(model => model.CodeBarre, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Sortie" class="btn btn-default" />
</div>
</div>
</div>
}
</div>
</div>
控制器:
//Get Sortie
public ActionResult Sortie(Int64 id)
{
TempData["codebarre"] = id;
return View();
}
//Post Sortie
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Sortie()
{
var mvtrepository = new MvtRepository(db);
var c = Request.Form["codeB"];
if (Convert.ToInt64(TempData["codebarre"]) == Convert.ToInt64(c))
{
var mvtInsert = mvtrepository.InsertMvt(DateTime.Now, Convert.ToInt64(TempData["codebarre"]), 2);
return RedirectToAction("Traitement");
}
else
{
return View("Error");
}
}
帮助请和谢谢。
非常感谢你much..It现在的作品:) – oumaima
很高兴我能帮助你:) –