这是我的观点。
@Ajax.ActionLink( item.courseCategory,"FilteredCourses",
new { crsCtgry = item.courseCategory },
new AjaxOptions{
UpdateTargetId = "CourseList",
InsertionMode.Replace,
HttpMethod = "GET" } )
点击此后,FilteredCourses操作将调用,结果将显示在CourseList div标签内。那个部分正在工作。我需要在同一个div位置打印点击链接(item.courseCategory)的值。 (例如:如果我点击一个链接" Science",我想在相同的视图和具体位置打印科学)我怎么能用上面的代码段做到这一点?
答案 0 :(得分:0)
您可以使用普通Html.ActionLink
辅助方法而不是Ajax.ActionLink
方法,并自行加载网格的ajax。它是非常简单的代码,您可以灵活地执行任何操作。
@Html.ActionLink(item.courseCategory,"FilteredCourses","YourControllerName",
, new { course = item.courseCategory},
new { @class = "myLink",data_courseName=item.courseCategory }
<h2 id="courseSelection" />
<div id="CourseList"></div>
这将为每个项目生成一个锚标记,其中包含一个名为“data-coursename
”的html 5数据属性,该属性将具有courseCategory的值。
现在有点javascript来处理点击事件
<script type="text/javascript">
$(function(){
$("a.myLink").click(function(e){
e.preventDefault();
var _this=$(this);
$.get(_this.attr("url"),function(res){
//Update the list
$("#CourseList").html(res);
//Update the title/header
$("#courseSelection").html(_this.data("coursename"));
});
});
});
</script>