Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从视图调用控制器方法_C#_Model View Controller - Fatal编程技术网

C# 从视图调用控制器方法

C# 从视图调用控制器方法,c#,model-view-controller,C#,Model View Controller,我觉得这是一个非常简单的问题,但我不知道怎么做 我有一个网页,上面有我在健身房做的每项运动的日志。日期、运动、体重、重复次数等。我可以添加条目。我还想通过按下按钮从索引页中删除一行。我只想在单击“删除”一次后删除该行,并仍保留在索引页中。但是,我不知道如何从索引视图页面调用delete方法 我在最后一列中添加了一些伪代码 <tbody> @foreach (var logrow in Model.Take(30)) {

我觉得这是一个非常简单的问题,但我不知道怎么做

我有一个网页,上面有我在健身房做的每项运动的日志。日期、运动、体重、重复次数等。我可以添加条目。我还想通过按下按钮从索引页中删除一行。我只想在单击“删除”一次后删除该行,并仍保留在索引页中。但是,我不知道如何从索引视图页面调用delete方法

我在最后一列中添加了一些伪代码

        <tbody>
        @foreach (var logrow in Model.Take(30))
        {
            <tr>
                <td>
                    <h6>@logrow.Date.ToString("dd-MM-yy")</h6>
                </td>
                <td>
                    <h6>@logrow.Exercise</h6>
                </td>
                <td>
                    <h6>@logrow.Weight</h6>
                </td>
                <td>
                    <h6>@logrow.Repetitions</h6>
                </td>
                <td>
                    <h6>@logrow.Sets</h6>
                </td>
                <td>
                    <h6>@logrow.Rest_time</h6>
                </td>
                <td>
                    <h6>@logrow.Notes</h6>
                </td>
                <td>
                    <*LINK TO METHOD DELETE_LOG_ROW(logrow.id)* class="btn btn-danger btn-sm">
                        <span class="glyphicon glyphicon-trash"></span><span class="hidden-xs"> Delete</span>
                    </a>
                </td>
            </tr>
        }
    </tbody>

@foreach(模型中的var logrow.Take(30))
{
@logrow.Date.ToString(“dd-MM-yy”)
@洛格罗,运动
@洛格罗,重量
@洛格罗,重复
@洛格罗,集合
@休息时间
@洛格罗,注意
删除
}

如果不在纯ASP.NET MVC中重新加载页面,则无法执行此操作。 使用AJAX来防止这种重新加载

所以你的流量看起来像

  • 通过ajax调用服务器删除实体

  • 再次调用服务器以获取更新的实体集合

  • 重建DOM

内部控制器

public ActionResult ActionName(int id)
{
    // delete logic
    return View("ViewName", "ControllerName");

}

您可以调用ajax并删除所需的项,从服务器获取更新的列表,以部分视图或Json的形式返回,并将div重新绑定到显示列表的位置。

您需要一个按钮(或链接等),如果单击该按钮,它将调用控制器上的方法来删除某些内容?这就是你想要达到的目标吗?你完全正确!读一读《谢谢》。我在写这篇文章之前就试过了。但我写了“HomeController”作为控制器名,而不是“Home”。初学者斗争:)
public ActionResult ActionName(int id)
{
    // delete logic
    return View("ViewName", "ControllerName");

}