我想在用户点击下一个按钮时在详细信息页面上显示记录,然后他应该能够显示下一个表记录。假设用户选择特定记录id 1的详细信息,他通过单击下一个按钮,同时在同一页面上获得该id 1的详细信息,用户应该能够获得id 2的记录,反之亦然。我已经完成了但是当表在id 1和id 2之后没有这样名为id 3的id时它会显示错误。请帮我弄清楚我错在哪里。
查看
@model WebApp.ViewModels.ViewTeamList
<script type="text/javascript">
var dataid = '@Html.Raw(Json.Encode(Model.TeamDetails.TeamId))';
for( var item in dataid)
console.log(dataid[item]);}();
</script>
<script type="text/javascript">
$("#btnNext").click(function () {
var $buttonClicked = $(this);
var nid = $buttonClicked.attr('data-id');
console.log(nid);
$.ajax({
url: 'Team/Next',
data: { dataid: nid },
//data: JSON.stringify(data.TeamId),
success: function (response) {
divDetail.html(data);
}
});
});
</script>
<div class="row">
<div class="col-md-11 col-sm-11 pull-left" style=" font-size:large; font-weight:600">
@Model.TeamDetails.TeamName
</div>
@* <div class="col-md-1 col-sm-1 pull-right">*@
<div class="navi-but">
<a href="#" id="btnPrevious" data-id="@Model.TeamDetails.TeamId" class="details">
<span class="previous">Previous</span>
</a>
<a href="#" class="details" data-id="@Model.TeamDetails.TeamId" id="btnNext">
<span style="padding-right:7px">Next</span><span class="next"></span>
</a>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<img src="~/Images/settings.png" />
</a>
<ul class="dropdown-menu" role="menu">
<li><a href="@Url.Action("Edit", "Team", new { id = Model.TeamDetails.TeamId })">Edit</a></li>
</ul>
</li>
</div>
@* </div>*@
</div>
<div class="row">
<div class="col-md-4 col-sm-4">
@Html.CustomLabel("lblTeam","CT Team Name:")
</div>
<div class="col-md-8 col-sm-8">
@Model.TeamDetails.TeamName
</div>
</div>
<div class="row">
<div class="col-md-4 col-sm-4">
@Html.CustomLabel("lblDescription","Description:")
</div>
<div class="col-md-8 col-sm-8">
@Model.TeamDetails.Description
</div>
</div>
<div class="row">
<div class="col-md-4 col-sm-4">
@Html.CustomLabel("lblCTUserCount","User Count")
</div>
<div class="col-md-8 col-sm-8 pull-left">
@Model.TeamDetails.UserCount
</div>
</div>
控制器
public ActionResult Next(int dataid)
{
dataid++;
ViewTeamList viewTeamList = new ViewTeamList();
viewTeamList.ViewTeamDetails(dataid);
return PartialView("_ViewTeamDetails", viewTeamList);
}
查看模型
public class ViewTeamList
{
public TeamDetails TeamDetails;
private ITeamService teamService;
public ViewTeamList()
{
}
public void ViewTeamDetails(int Id)
{
teamService = new TeamService(pDbContext);
TeamDetails = teamService.GetTeamDetails(Id);
//return (TeamDetails.First());
}
}
请帮助我做错了。
答案 0 :(得分:3)
我没有详细查看您的代码,但在我看来,您有一个逻辑问题。因为你总是将id递增1(dataid ++;),如果在此期间删除某些记录,那么它将无法工作。例如,让我们说你有记录1的id为1,Record2的id为2,记录3的id为3,你删除了Record2。现在,当您尝试在Record1之后获取下一条记录时,您将id递增1,因此您有2并且db中没有id为2的记录。 而不是dataid ++;你应该找到db中真正存在的下一个id。正如我所说,我没有详细阅读代码,因此可能存在更多问题。
答案 1 :(得分:0)