我有一个调查表列表,每个表都有一个按钮/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);
}
我应该在正文中填入回答该调查表的竞争对手的复选框。但每当我单击“查看竞争对手”时,它不会转发给控制器。
我希望表数据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">×</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样式: 现在,滚动条应保持在原位。
Controller.js
问题内容: 我想我缺少了一些东西,但无法弄清楚是什么。 基本上,我试图将对象传递给模态,如下所示,但是我没有获取传递的对象,而是获取null …所以我认为范围存在问题,但是我是Angular的新手,需要帮助。 控制者 视图 问题答案: 我建议您传递自己的控制器的,而不要再次传递它,这样做可以删除也。 否则,您需要创建一个新控制器并在打开它时分配该控制器。