我希望在点击我的网页上的按钮后显示标签。我添加了两个按钮,如此
@using (Html.BeginForm("ViewRequest", "Home"))
{
<button type="submit" name="Home" value="Accept" class="btn btn-sm btn-success">Accept</button>
<button type="submit" name="Home" value="Reject" class="btn btn-sm btn-danger">Reject</button>
}
然后在我的控制器中,我已经按下了
更新数据库的按钮if (Home == "Accept")
{
requestLifts.bookingStatus = "Accepted";
db.SaveChanges();
}
else if (Home == "Reject")
{
requestLifts.bookingStatus = "Rejected";
db.SaveChanges();
}
但是,我还希望点击“预订已接受/已拒绝”时显示该页面。这样做的最佳方式是什么?
答案 0 :(得分:3)
您可以使用临时数据来显示消息
在视图中
@if (TempData["Accepted"] != null)
{
<p class="alert alert-success" id="successMessage">@TempData["Accepted"]</p>
}
在控制器
中TempData["Success"] = "Accepted!";
return RedirectToAction("actionname", "controllername");
同样可以使用
ViewData and ViewBag;
Html:
@if (ViewData["Accepted"] != null)
{
<p class="alert alert-success" id="successMessage">@ViewData["Accepted"]</p>
}
答案 1 :(得分:3)
您可以使用ViewBag或TempData来完成您的要求
使用TempData
TempData["Success"] = "Accepted!";
使用ViewBag
ViewBag.Success = "Accepted!";
然后在cshtml上
像
一样使用它们@if (ViewBag.Accepted != null)
{
<p class="alert alert-success" id="successMessage">@ViewBag.Accepted</p>
}
或
@if (TempData["Success"] != null)
{
<p class="alert alert-success" id="successMessage">@TempData["Success"]</p>
}
由于
答案 2 :(得分:0)
根据我的观点,尽可能多地使用/使用模型属性总是好的,然后是这些viewbag,viewdata和tempdata。在上面的场景中,您似乎已经拥有了model属性:requestLifts.bookingStatus来存储状态,因此只需按照您的方式存储,并通过从控制器传递模型来显示该视图
例如:
@model requestLifts
<h2>Model.bookingStatus</h2>