我对此操作有疑问:
“activateOffreLocation”检查“Publication_Statut”的值并更改它(如果它等于“Activée”,则操作将其更改为“Désactivée”,反之亦然
我没有收到任何错误!在询问确认后,它会简单地切换到“listOffreLocation”视图!
我试图用断点跟随执行,它在我的Post Action中转为“offreLocation”为空,而ID不是,它在第一个视图中包含所选ITEM的正确值。
// GET: /OffreLocation/Activate
public ActionResult ActivateOffreLocation(int id)
{
return View(db.PublicationSet.Find(id));
}
// POST: /OffreLocation/Activate
[HttpPost]
public ActionResult ActivateOffreLocation(int id, OffreLocation offreLocation)
{
try {
var statut = offreLocation.Publication_Statut;
if(String.Equals(statut,"Activée"))
{
offreLocation.Publication_Statut = "Désactivée";
db.SaveChanges();
return View();
}
else
{
offreLocation.Publication_Statut = "Activée";
db.SaveChanges();
return RedirectToAction("ListOffreLocation");
}
}
catch (Exception exp)
{
Console.WriteLine("IOException source: {0}", exp.Source);
return RedirectToAction("Error");
}
}
在我的视图“listOffreLocation”中我刚刚定义了“activateOffreLocation”视图的链接:
@Html.ActionLink("Désactiver", "ActivateOffreLocation", new { id = item.Publication_ID }) |
“ActivateOffreLocation”查看:
<fieldset style="border:dashed; margin-top:80px">
<h3 style="text-align: center; margin-left:80px; margin-top:80px"> Voullez vous vraiment désactiver cette offre de location?
</h3>
<h4 style="text-align:center"> Num: @Html.EditorFor(model => model.Publication_ID) </h4>
<h4 style="text-align:center"> Statut @Html.EditorFor(model => model.Publication_Statut) </h4>
<div style="margin-bottom:80px">
<hr />
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model =>model.Publication_ID)
<div class="form-actions no-color" style="text-align:center">
@Html.HiddenFor(model => model.Publication_ID)
<input type="submit" value="Désactiver" class="btn btn-default" /> |
@Html.ActionLink("Retour à la Liste", "ListOffreLocation")
</div>
}
</div>
</fieldset>
答案 0 :(得分:0)
首先,您没有表明您将任何模型传递给您的视图“ActivateOffreLocation”。您似乎也没有发送任何模型数据,您的模型是“OffreLocation”到您的Action。这可能是你的问题。
如果你解决了这个问题,并且它无法解决你的问题,请发布更多代码,我会更新我的答案。