ASP.MVC2中带Jquery的AJAX

ASP.MVC2中带Jquery的AJAX,jquery,asp.net-mvc,ajax,Jquery,Asp.net Mvc,Ajax,我想通过Ajax获得一些东西并将其放入 我必须从控制器操作返回什么才能将其放入DIV?现在我有标准的ASP.MVC视图作为结果 public ActrionResult MyAction() { return View(); } 在javascript中,我有: $.get(<url to controler action>, null, function(data) { $(#result).html(data); }) $.get(,null,函数(数据){$(#结果)

我想通过Ajax获得一些东西并将其放入

我必须从控制器操作返回什么才能将其放入DIV?现在我有标准的ASP.MVC视图作为结果

public ActrionResult MyAction() {
   return View();
}
在javascript中,我有:

$.get(<url to controler action>, null, function(data) { $(#result).html(data); })
$.get(,null,函数(数据){$(#结果).html(数据);})
与MyAction关联的典型操作,具有重新加载页面功能。但当我做$.get(…)时,我在“数据”中得到了整个页面(内容和母版页)。如果没有MsterPage,如何仅获取View()的一部分???

您将要使用的

public ActrionResult MyAction() {
    var stuff = new { id = 1, name = "test" }; //or whatever stuff you need in your page
    return Json(stuff);
}

从ActionResult方法

作为json响应的替代方法,您可以返回html。您所需要做的就是过滤并从“data”变量中获取要附加的html

$.get(<url to controler action>, null, function(data) { 
              $('#result').html($(data).find('#partOfViewID').html()); 
              });
$.get(,null,函数(数据){
$('#result').html($(数据).find('#partOfViewID').html());
});

您可以返回部分:

public ActrionResult MyAction() 
{
   return PartialView();
}
其中您有
MyAction.ascx
partial,其中包含一些HTML片段:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<div>Hello</div>

这不是jquery/ajax的问题。您需要一个返回局部视图的操作。不是返回带有母版页的视图的视图

您可以使用此部件:

$.get(,null, 功能(数据){ $(#result).html(数据);})

但是,您的操作必须具有与其关联的局部视图,而不是具有母版页的常规视图

因此,采取新的行动。如果要向其中添加视图,请选中“局部视图”复选框。然后把你想重新加载的东西放在局部视图中

$('#result').load('/home/myaction');