无法使用剃须刀插入按钮按下的数据

本文关键字:数据 按钮 插入 剃须刀 | 更新日期: 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>