通过按钮单击控制器中的HTML调用方法

时间:2017-09-22 06:35:00

标签: c# html asp.net asp.net-mvc entity-framework

我正在Visual Studio中构建一个ASP.Net MVC5 EF6应用程序。

我有2个模型,一个是具有属性StudentID,FullName,Email和ProgramStatus的学生模型。 我还有一个筛选测试模型,其中包含Student,MathsMark和EnglishMark属性。

在我的详细信息视图中(代码可以在下面找到)我想添加一个按钮供用户点击,这将在控制器中调用一个名为acceptStudent的方法,该方法发送一封电子邮件并将学生的ProgramStatus更新为'公认'。

我真的很想弄清楚如何调用该方法。 我的最新尝试可以在下面找到,但它不起作用。

非常感谢任何对说明或有用答案的引用!

@model AEC.Models.ScreeningTestRecord

@{
    ViewBag.Title = "Details";
}

<h2>Screening Test Results</h2>

<div>
    <h4>Below are the results of the student's screening test.</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.Student.FullName)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.Student.FullName)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.MathsMark)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.MathsMark)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.EnglishMark)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.EnglishMark)
        </dd>



</dl>
    @Html.BeginForm("acceptStudent", "ScreeningTestRecord", new { id = model.Id }, FormMethod.Post) 
    <input type="submit" value="edit" name="edit" />

    </div>
    <p>
        @Html.ActionLink("Edit", "Edit", new { id = Model.StudentID }) |
        @Html.ActionLink("Back to List", "Index") |
    </p>

1 个答案:

答案 0 :(得分:0)

应该是这样的

@using (Html.BeginForm("acceptStudent", "ScreeningTestRecord", new { id = model.Id }, FormMethod.Post))
    {
        <button type="submit">Accept Student</button>
    }