无法使用剃须刀插入按钮按下的数据
本文关键字:数据 按钮 插入 剃须刀 | 更新日期: 2023-09-27 18:00:30
我当前正在显示一个名为Workout表的表中的信息,但我想做的是获取WorkoutId,然后从另一个表中获取userId,并将它们保存在一个名称为UserCompletedWorkouts的表中。
这是我已经拥有的:
查看
@model IEnumerable<SportsCoach.Models.WorkoutModel>
@{
ViewBag.Title = "Workout";
ViewBag.PageName = "View workout";
}
<section id="MainContent" class="container">
<h2>Workouts</h2>
<p>This page can be used to add, edit, view and delete workouts. </p>
<table class="table table-striped">
<tr>
<th>Day</th>
<th>
@Html.DisplayNameFor(model => model.WorkoutDetails)
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
<b>@Html.Raw(item.Day)</b>
</td>
<td>
@Html.Raw(item.WorkoutDetails).Replace("'n", "<br />")<br />
@Html.ActionLink("Confirm workout", "Create", null, new { @class = "btn btn-primary col-xs-12 col-sm-3 col-lg-3" })
</td>
</tr>
}
</table>
任何涉及插入或编辑数据的内容都应保留在控制器中。View的目的是简单地显示所有幕后逻辑的结果。
假设您在该视图中拥有模型中的WorkoutID,那么您所要做的就是创建另一个名为SaveCompletedWorkout
的函数
在您发布的视图中,您需要在循环中为其创建一个链接。例如:
@Html.ActionLink("Controller","CompleteWorkout",new { WorkoutId = item.WorkoutId })
至于保存项目的功能:
public ActionResult CompleteWorkout(int workoutId)
{
//Do checking to make sure workoutid is valid
//Database.UserCompletedWorkouts.Add(new UserCompletedWorkout() { UserId = User.Id, WorkoutID = workoutID });
//Return a view of whatever now
return View();
}
编辑:此外,不需要编码和使用Raw,只需使用
<td>@item.WorkoutDetails @Html.ActionLink(...)</td>