如何在另一个Html.BeginForm中设置Razor Html.BeginForm

时间:2019-11-28 14:12:55

标签: forms asp.net-core razor

说明

我想有两个按钮来编辑和删除身份角色。编辑按钮可以工作,但是如果我要删除角色,则该网站正在重新加载,但是什么也没有发生。

将不会调用post函数。还有另一种方法可以在另一个帖子表单中创建一个帖子表单?

代码

<div class="row mb-3">
    <div class="col-12">
        <div class="card">
            <div class="card-body">
                <h4 class="card-title">Rollennamen bearbeiten</h4>
                @using(Html.BeginForm("EditRole", "Administration", FormMethod.Post)) {
                    <div class="form-group row">
                        <label asp-for="EditRole.RoleName" class="col-sm-12 col-md-3"></label>
                        <div class="col-sm-12 col-md-9">
                            <input asp-for="EditRole.Id" type="hidden" value="@roles.Id" />
                            <input asp-for="EditRole.RoleName" class="form-control" value="@roles.Name" />
                            <span asp-validation-for="EditRole.RoleName" class="text-danger"></span>
                        </div>
                    </div>
                    <div class="d-flex flex-row-reverse">
                        <button type="submit" class="btn btn-success">Rolle bearbeiten</button>
                        @using(Html.BeginForm("DeleteRole", "Administration", FormMethod.Post)) {
                            <input name="id" type="hidden" value="@roles.Id" />
                            <button type="submit" class="btn btn-danger mr-2">Rolle löschen</button>
                        }
                    </div>
                }
            </div>
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

您可以使用asp-action之类的格式处理多种提交方式

@using (Html.BeginForm(FormMethod.Post))
{      
    <div class="d-flex flex-row-reverse">
        <input type="submit" value="Save" class="btn btn-success" asp-controller="Administration" asp-action="EditRole" />
        <input type="submit" value="Delete" class="btn btn-danger" asp-controller="Administration" asp-action="DeleteRole" />

    </div>
 }
相关问题