Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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# ASP.NET核心:模态不将值传递给控制器方法_C#_Html_Razor_Asp.net Core Mvc - Fatal编程技术网

C# ASP.NET核心:模态不将值传递给控制器方法

C# ASP.NET核心:模态不将值传递给控制器方法,c#,html,razor,asp.net-core-mvc,C#,Html,Razor,Asp.net Core Mvc,我的索引由一个表组成,该表显示了我创建的所有问题(调查)。但我希望能够使用模态编辑问题。因此,我在foreach循环中创建了以下模式: @foreach (var item in Model.Questions) { <tr> <td> @Html.DisplayFor(modelItem => item.Id) </td>

我的索引由一个表组成,该表显示了我创建的所有问题(调查)。但我希望能够使用模态编辑问题。因此,我在foreach循环中创建了以下模式:

 @foreach (var item in Model.Questions)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.Id)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Question1)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.ReplyOptions)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.Group)
            </td>
            <td>
                @if (item.CategoryId != null)
                {
                    @Html.DisplayFor(modelItem => item.Category.Name)
                }
                else
                {
                    <i><font color="red">Nicht zugewiesen</font></i>
                }
            </td>
            <td>
                <!-- Button trigger modal -->
                <button type="button" class="btn btn-sm" data-toggle="modal" data-target="#@item.Id">
                    Bearbeiten
                </button>

                <!-- Modal -->
                <div class="modal fade" id="@item.Id" tabindex="-1" role="dialog" aria-labelledby="xxx" aria-hidden="true">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                    <span aria-hidden="true">&times;</span>
                                </button>
                                <h2 class="modal-title" id="xxx">Frage bearbeiten</h2>
                            </div>
                            <div class="modal-body">
                                <form asp-action="Edit">
                                    <div asp-validation-summary="ModelOnly" class="text-danger"></div>
                                    <input type="hidden" asp-for="@item.Id" />
                                    <div class="form-group">
                                        <label asp-for="@item.CategoryId" class="control-label"></label>
                                        <select asp-for="@item.CategoryId" class="form-control" asp-items="ViewBag.CategoryId"></select>
                                        <span asp-validation-for="@item.CategoryId" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.Question1" class="control-label"></label>
                                        <input asp-for="@item.Question1" class="form-control" />
                                        <span asp-validation-for="@item.Question1" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.ReplyOptions" class="control-label"></label>
                                        <input asp-for="@item.ReplyOptions" class="form-control" />
                                        <span asp-validation-for="@item.ReplyOptions" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.Group" class="control-label"></label>
                                        <input asp-for="@item.Group" class="form-control" />
                                        <span asp-validation-for="@item.Group" class="text-danger"></span>
                                    </div>
                                    <div class="modal-footer">
                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                                        <button type="submit" class="btn btn-primary">Save</button>
                                    </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
                <a asp-action="Delete" asp-route-id="@item.Id">Delete</a>
            </td>
        </tr>
    }
@foreach(Model.Questions中的变量项)
{
@DisplayFor(modeleItem=>item.Id)
@DisplayFor(modelItem=>item.Question1)
@DisplayFor(modelItem=>item.ReplyOptions)
@DisplayFor(modelItem=>item.Group)
@如果(item.CategoryId!=null)
{
@DisplayFor(modelItem=>item.Category.Name)
}
其他的
{
尼希特·祖格维森
}
贝尔贝滕
&时代;
磨损熊皮
接近
拯救

我必须做些什么来确保传递值

我必须做些什么来确保传递值

只需将name属性添加到表单中的每个控件:

  <div class="modal-body">
                                <form asp-action="Edit">
                                    <div asp-validation-summary="ModelOnly" class="text-danger"></div>
                                    <input type="hidden" asp-for="@item.Id" name="Id" />
                                    <div class="form-group">
                                        <label asp-for="@item.CategoryId" class="control-label"></label>
                                        <select asp-for="@item.CategoryId" class="form-control" asp-items="ViewBag.CategoryId" name="CategoryId"></select>
                                        <span asp-validation-for="@item.CategoryId" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.Question1" class="control-label"></label>
                                        <input asp-for="@item.Question1" class="form-control" name="Question1" />
                                        <span asp-validation-for="@item.Question1" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.ReplyOptions" class="control-label"></label>
                                        <input asp-for="@item.ReplyOptions" class="form-control" name="ReplyOptions" />
                                        <span asp-validation-for="@item.ReplyOptions" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.Group" class="control-label"></label>
                                        <input asp-for="@item.Group" class="form-control" name="Group" />
                                        <span asp-validation-for="@item.Group" class="text-danger"></span>
                                    </div>
                                    <div class="modal-footer">
                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                                        <button type="submit" class="btn btn-primary">Save</button>
                                    </div>
                                </form>
                            </div>
                        

接近
拯救
以下是测试结果:

我必须做些什么来确保传递值

只需将name属性添加到表单中的每个控件:

  <div class="modal-body">
                                <form asp-action="Edit">
                                    <div asp-validation-summary="ModelOnly" class="text-danger"></div>
                                    <input type="hidden" asp-for="@item.Id" name="Id" />
                                    <div class="form-group">
                                        <label asp-for="@item.CategoryId" class="control-label"></label>
                                        <select asp-for="@item.CategoryId" class="form-control" asp-items="ViewBag.CategoryId" name="CategoryId"></select>
                                        <span asp-validation-for="@item.CategoryId" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.Question1" class="control-label"></label>
                                        <input asp-for="@item.Question1" class="form-control" name="Question1" />
                                        <span asp-validation-for="@item.Question1" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.ReplyOptions" class="control-label"></label>
                                        <input asp-for="@item.ReplyOptions" class="form-control" name="ReplyOptions" />
                                        <span asp-validation-for="@item.ReplyOptions" class="text-danger"></span>
                                    </div>
                                    <div class="form-group">
                                        <label asp-for="@item.Group" class="control-label"></label>
                                        <input asp-for="@item.Group" class="form-control" name="Group" />
                                        <span asp-validation-for="@item.Group" class="text-danger"></span>
                                    </div>
                                    <div class="modal-footer">
                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                                        <button type="submit" class="btn btn-primary">Save</button>
                                    </div>
                                </form>
                            </div>
                        

接近
拯救
以下是测试结果:

非常感谢!!:D但我想再问你一个问题:我还有一个创建问题的模式,在那里它也可以不使用“名称”属性。在这种情况下我为什么需要它?@Toasty,
asp for
会自动生成
name
属性,关键在于name属性的形式。您的初始代码名会自动生成
item.filedName
的值,但实际接受的
问题
类没有
Item
outer字段,因此您需要添加name属性以覆盖asp为自动生成的名称