这是视图中的代码。
<div class="col-sm-4 page-sidebar">
<aside>
<div class="widget sidebar-widget white-container links-widget">
<br>
<div class="title-lines">
<h4 class="m0" style="color:deepskyblue">Course List</h4>
</div>
@foreach (var item in Model.ProgramCategory)
{
<ul class="ullist">
<li>
@Html.ActionLink(item.courseCategory, "Index", new { crsCtgry = item.courseCategory }, new { @class = "" })
</li>
</ul>
}
</div>
</aside>
</div>
<div class="col-sm-8 page-content">
<div class="white-container mb0">
@if (Model.CourseCategories != null)
{
<h3>@Html.DisplayFor(model => model.CourseCategories.) </h3>
<table class="table">
@foreach (var item in Model.CourseCategories)
{
<tr>
<td>
@item.courseSubject
</td>
<td>
@item.courseName
</td>
</tr>
}
</table>
}
</div>
</div>
这是我的Controller中的Index方法。
public ActionResult Index(string crsCtgry)
{
var viewModel = new DisplayCourseIndexData();
viewModel.ProgramCategory = db.ProgramCategoriess;
if (crsCtgry != null)
{
viewModel.CourseCategories = db.CourseCategories.Where(n => n.courseField == crsCtgry).Select(n => n).ToList();
}
return View(viewModel);
}
现在,我正在做的是,当点击课程类别时,该类别下的所有课程(CourseName&amp; subject)都显示在同一页面上。这是代码正常工作。但是刷新页面会显示结果。我需要知道如何做到这一点,而不是让人耳目一新。当我点击链接时,结果必须显示而不重新加载页面(异步)并顺利。有办法吗?
答案 0 :(得分:0)
使用@ Ajax.ActionLink而不是@ Html.ActionLink。此链接(http://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc/)将帮助您完成该操作。