为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的表单没有将 id 传递给控制器​​?

为什么我的表单没有将 id 传递给控制器​​?

沧海一幻觉 2023-11-12 14:46:53
我已经设置了一个 asp.net mvc 网页。我的所有操作,例如:创建、编辑等...都有自己的视图,除了删除,因为我试图在 Bootstrap 的帮助下弹出一个模式。我通过 jQuery/JavaScript 将 id 传递给模态,并使用 asp-action 作为表单的属性,理论上它应该可以工作,但事实并非如此。索引视图:@if (Model.Tenants.Any()){    <h3>Tenants (@Model.Tenants.Count)</h3>    <div class="table-responsive">        <table class="table table-striped table-sm">            <thead>            <tr>                <th></th>                <th>Name</th>                <th>Id</th>                <th>UrlFriendlyName</th>                <th>MicrosoftGraphTenantId</th>                <th></th>            </tr>            </thead>            <tbody>            @foreach (var tenant in Model.Tenants.OrderByDescending(x => x.Name))            {                <tr>                    <td>                        <button class="btn btn-primary" onclick="document.location.href = '@Url.Action("Index", "User", new {id = tenant.Id})'">Show Users</button>                    </td>                    <td>                        @tenant.Name                    </td>                    <td>                        @tenant.Id                    </td>                    <td>                        @tenant.UrlFriendlyName                    </td>                    <td>                        @tenant.MicrosoftGraphTenantId                    </td>                    <td>                        <div class="btn-group-justified pull-right ">                            <button class="btn btn-success" onclick="document.location.href = '@Url.Action("Edit", "Tenant", new {id = tenant.Id})'">Edit</button>                            <button type="button" class="btn btn-danger" onclick="deleteTenant('@tenant.Id', '@tenant.Name')" data-toggle="modal" data-target="#deleteModal">Delete</button>                        </div>                    </td>                </tr>            }            </tbody>        </table>
查看完整描述

1 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

发生这种情况有两个原因。首先,隐藏的input名称应该与操作中的参数相匹配。在你的情况下id:


<input type="hidden" name="id" id="tenantidinput" />

其次,你的 JS 应该设置value字段的 ,而不是它的name:


function deleteTenant(tenantid, tenantname) {

  $(".modal-title").text("Delete " + tenantname);

  $("#tenantidinput").val(tenantid);

}


查看完整回答
反对 回复 2023-11-12
  • 1 回答
  • 0 关注
  • 93 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信