当前位置: 首页 > 知识库问答 >
问题:

如何将数据切换模式引导到控制器?

秦雅逸
2023-03-14

我有一个调查表列表,每个表都有一个按钮/asp操作,可以查看至少3个竞争对手的答案。但我需要使用模式选择调查表中的竞争对手。在该模式中,我应该在主体中填充一个复选框,其中包含回答该调查表的竞争对手。如何将数据切换模式导入控制器?

以下是我的看法:

 @for (int i = 0; i < Model.SurveyNames.Count; i++)
      {
        <tr>
            <td>
                @Model.SurveyNames[i].SurveyName
            </td>
            <td>
                @Model.SurveyNames[i].SurveyFor
            </td>
            <td>
                @Model.SurveyNames[i].Description
            </td>
            <td>
                @Model.SurveyNames[i].CreatedBy
            </td>
            <td>
                @Model.SurveyNames[i].Status
            </td>

            <td>
                <!-- Button trigger modal -->
                <a asp-action="ViewCompetitors" asp-route-id="@Model.SurveyNames[i].Id" data-toggle="modal" data-target="#ChooseCompetitors">View Competitors</a>
            </td>
        </tr>
}

这是我的控制器,它应该将值返回到索引模式:

public IActionResult Index(int? id)
        {
            var model = new CompetitorAnswerViewModel();
            var SurveyList = _context.MainSurvey.ToList();

             foreach (var zsurvey in SurveyList)
            {
                model.SurveyNames.Add(new survey { Id = zsurvey.Id, SurveyName = zsurvey.SurveyName, SurveyFor = zsurvey.SurveyFor,Description = zsurvey.Description,CreatedBy = zsurvey.CreatedBy,Status = zsurvey.Status}) ;
            }

            var competitorList = _context.SurveyCompetitor.ToList().Where(x => x.MainSurveyId == id);

             foreach (var competitors in competitorList)
            {
                model.CompetitorNames.Add(new Competitor { CompetitorName = competitors.CompetitorName});
            }
            return View(model);
        }

我应该在正文中填入回答该调查表的竞争对手的复选框。但每当我单击“查看竞争对手”时,它不会转发给控制器。

共有1个答案

东郭京
2023-03-14

我希望表数据id将其传递给contoller以过滤调查竞争对手,然后将过滤后的数据返回到同一索引中的modal

您可以将竞争对手视图放在部分视图中,并使用ajax将其呈现为Index视图。

1.在Shared文件夹/Views/Shared/_CompetitorsPartialView.cshtml中创建部分视图

@model YourViewModel
<div class="col-md-12">
Your View
</div>

2.将筛选的数据返回到此partail视图

public IActionResult ViewCompetitors(int id)
    {
        // filter logic
        return PartialView("_CompetitorsPartialView",YourViewModel);
    }

3.在索引视图中使用ajax。

修改代码

<button id = "ViewCompetitors" onclick="viewCompetitor(@item.CustomerId)">View Competitors</button>

Modal和ajax:

<div class="modal fade" id="ChooseCompetitors" role="dialog">
<div class="modal-dialog">
    <!-- Modal content-->
    <div class="modal-content">
        <div class="modal-header">
            <h4 class="modal-title">Modal Header</h4>
            <button type="button" class="close" data-dismiss="modal">&times;</button>
        </div>
        <div class="modal-body">
          <div id="showresults"></div>
        </div>
        <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
    </div>

</div>
</div>
@section Scripts{ 
<script>
    function viewCompetitor(id) {
        $.ajax({
            type: 'Get',
            url: '/Home/ViewCompetitors/' + id,//your url
            success: function (result) {
                $("#ChooseCompetitors").modal();//open modal
                $('#showresults').html(result);//populate view to modal

            }
        })
    }
</script>
}

 类似资料:
  • 问题内容: 我有几个超链接,每个超链接都附有一个ID。当我单击此链接时,我想打开一个模式,并将此ID传递给模式。我在Google上进行了搜索,但找不到任何可以帮助我的东西。 这是代码: 哪个应该打开: 使用这段代码: 但是,当我单击超链接时,没有任何反应。当我提供超链接时,模式可以很好地打开,但是它不包含任何数据。 我遵循以下示例:如何将值参数传递给Bootstrap中的modal.show()函

  • 我有几个超链接,每个都有一个ID附加。当我单击这个链接时,我想打开一个模态(http://twitter.github.com/bootstrap/javascript.html#modals),并将这个ID传递给模态。我在谷歌上搜索,但我找不到任何可以帮助我的东西。 这是代码: 该窗口应打开: 用这段代码: 然而,当我点击超链接时,什么也没有发生。当我给出超链接时,模式打开得很好,但它不包含任何

  • 问题内容: 这是代码: 哪个应该打开: 使用这段代码: 但是,当我单击超链接时,没有任何反应。当我提供超链接时,模式可以很好地打开,但是它不包含任何数据。 问题答案: 我认为你可以使用jQuery的.on事件处理程序来完成这项工作。 这是你可以测试的小提琴;只需确保在小提琴中尽可能扩展HTML框架,以便你可以查看模式。 HTML JAVASCRIPT

  • 问题内容: 我有一个模态问题。我在页面上有一个按钮,用于切换模式。出现模态时,页面跳至顶部。 我已竭尽所能找到解决方案/等,但我真的迷失了。 编辑: 我也尝试过:但它具有完全相同的效果。 问题答案: 当模式打开时,将为标记设置一个类。该课程面向身体。将此规则添加到样式表中以覆盖bootstrap.css样式: 现在,滚动条应保持在原位。

  • 问题内容: 我想我缺少了一些东西,但无法弄清楚是什么。 基本上,我试图将对象传递给模态,如下所示,但是我没有获取传递的对象,而是获取null …所以我认为范围存在问题,但是我是Angular的新手,需要帮助。 控制者 视图 问题答案: 我建议您传递自己的控制器的,而不要再次传递它,这样做可以删除也。 否则,您需要创建一个新控制器并在打开它时分配该控制器。