我想通过Ajax获取内容并将其放入
我必须从Controler Action返回将其放入DIV?现在我有标准的ASP.MVC视图作为结果......
public ActrionResult MyAction() {
return View();
}
在javascript中我有:
$.get(<url to controler action>, null, function(data) { $(#result).html(data); })
与MyAction相关的典型操作,重新加载页面完美无缺。但当我做$ .get(...)时,我在“数据”(内容和母版页)中获得了整页。如何才能获得View()的一部分,没有MsterPage ??
答案 0 :(得分:1)
你可以返回部分:
public ActrionResult MyAction()
{
return PartialView();
}
你MyAction.ascx
部分包含一些HTML片段的地方:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<div>Hello</div>
你inject this partial using an AJAX call加入#result
div:
$('#result').load('/home/myaction');
答案 1 :(得分:0)
你想要使用
public ActrionResult MyAction() {
var stuff = new { id = 1, name = "test" }; //or whatever stuff you need in your page
return Json(stuff);
}
来自ActionResult方法的。
答案 2 :(得分:0)
作为json响应的替代方法,您可以返回html。您需要做的就是从'data'变量中过滤并获取要追加的html。
$.get(<url to controler action>, null, function(data) {
$('#result').html($(data).find('#partOfViewID').html());
});
答案 3 :(得分:0)
这对jquery / ajax来说不是问题。你需要一个返回局部视图的动作。不是一个返回主页面视图的人。
你可以使用这部分:
$。get(,null, function(data){ $(#结果)。html的(数据); })
但您的操作必须包含与其关联的部分视图,而不是具有母版页的常规视图。
所以做一个新的动作。添加视图,选中部分视图复选框。并在该局部视图中放置您想要重新加载的内容。