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

我已经设置了一个 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>


沧海一幻觉
浏览 94回答 1
1回答

qq_笑_17

发生这种情况有两个原因。首先,隐藏的input名称应该与操作中的参数相匹配。在你的情况下id:<input type="hidden" name="id" id="tenantidinput" />其次,你的 JS 应该设置value字段的 ,而不是它的name:function deleteTenant(tenantid, tenantname) {&nbsp; $(".modal-title").text("Delete " + tenantname);&nbsp; $("#tenantidinput").val(tenantid);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript