使用AJAX渲染局部视图
我有一个非常简单的任务,我必须在主页上呈现部分视图,这样就不会在每次单击链接时加载整个页面,而只加载特定的使用AJAX渲染局部视图,ajax,asp.net-mvc,Ajax,Asp.net Mvc,我有一个非常简单的任务,我必须在主页上呈现部分视图,这样就不会在每次单击链接时加载整个页面,而只加载特定的div或部分 看看这个: 当你点击上面网站标题处的链接时,它只加载特定部分,而不是整个页面 我在互联网上尝试了很多解决方案,但都没能成功 我尝试过的解决方案: 由于我不能全部解释,我只想问一个问题: 在阅读了大量教程后,我让虚拟项目开始工作,但它在我的团队正在进行的项目中不起作用: 我在我的主页中添加了一个名为Partial的PartialView 我在我的主页控制器中添加
div
或部分
看看这个:
当你点击上面网站标题处的链接时,它只加载特定部分,而不是整个页面
我在互联网上尝试了很多解决方案,但都没能成功
我尝试过的解决方案:
由于我不能全部解释,我只想问一个问题:
在阅读了大量教程后,我让虚拟项目开始工作,但它在我的团队正在进行的项目中不起作用:
我在我的主页中添加了一个名为Partial
的PartialView
我在我的主页
控制器中添加了一个方法:
public PartialViewResult Test()
{
return PartialView();
}
我在我的索引中添加了一个按钮
:
<input type="submit" id="clik" />
我是ASP.Net MVC的初学者,我正在使用ASP.Net MVC 4…使事情变得更简单:
为每个菜单链接创建一个ajax操作链接
将UpdateTargetId
设置为div
的id
,在其中显示局部视图
该消息表明EmployeesController
中的Test
方法不存在。通过在浏览器地址中输入该地址进行检查bar@StephenMuecke我把地址放在浏览器中,Test
方法运行良好。。。你能想出另一个可能返回此消息的问题吗?不确定,但你确实有另一个问题。您的按钮是type=“submit”
,它将提交表单。它应该是type=“button”或将脚本修改为
$('#clik')。单击(函数(e){e.preventDefault();…`停止表单提交。注意,您同时引用了HomeController和EmployeeController(根据错误消息)@Stephenmueecke我尝试了@Venkat的方法,它成功了,但是我仍然没有得到上面的方法来工作……即使我将它修改为按钮,它也不起作用,我只是指EmployeesController
。这里:$(“#更改”).load(“/Employees/Test”);
你的问题有$(“#s”).load(“/Home/Test”)所以我假设这只是一个输入错误。如果它使用ajax操作链接工作,那么它应该使用.load()工作
所以不确定问题出在哪里,但如果错误是404,它肯定找不到//localhost/Employees/Test
。我以前试过很多次,但都不起作用,在阅读了你的答案后,我试过了,它起作用了:)@SyedFarjadZiaZaidi很高兴听到你说“起作用了”。祝你有愉快的一天。
<script type="text/javascript">
$('#clik').click(function () {
$("#s").load("/Home/Test");
});
</script>
<script src="../../Scripts/jquery.unobtrusive-ajax.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.7.1.js" type="text/javascript"></script>
GET http://localhost/Employees/Test 404 (Not Found)
jquery-1.7.2.min.js:4
send jquery-1.7.2.min.js:4
f.extend.ajax jquery-1.7.2.min.js:4
f.fn.extend.load jquery-1.7.2.min.js:4
(anonymous function) Employees:278
f.event.dispatch jquery-1.7.2.min.js:3
h.handle.i jquery-1.7.2.min.js:3