AJAX с Jquery в ASP.MVC2 - PullRequest
       3

AJAX с Jquery в ASP.MVC2

0 голосов
/ 29 июня 2010

Я бы хотел получить что-то через Ajax и поместить в

Что мне нужно вернуть из Контроллера, чтобы поместить это в этот DIV? Прямо сейчас у меня было стандартное представление ASP.MVC как результат ...

public ActrionResult MyAction() {
   return View();
}

и в JavaScript у меня есть:

$.get(<url to controler action>, null, function(data) { $(#result).html(data); })

Типичное действие, связанное с MyAction, с перезагрузкой страницы работает отлично. но когда я делаю $ .get (...), я получаю целую страницу в «данных» (контент и главная страница). Как я могу получить только часть View (), без MsterPage ??

Ответы [ 4 ]

1 голос
/ 29 июня 2010

Вы можете вернуть частичное:

public ActrionResult MyAction() 
{
   return PartialView();
}

Где у вас есть MyAction.ascx частичное, содержащее некоторый фрагмент HTML:

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

И вы вводите эту часть с помощью вызова AJAX в #result div:

$('#result').load('/home/myaction');
0 голосов
/ 29 июня 2010

это не проблема с jquery / ajax. вам нужно действие, которое возвращает частичное представление. не тот, который возвращает представление с главной страницей.

Вы можете использовать эту часть:

$. Get (, null, функция (данные) { $ (# Результат) .html (данные); })

но вашему действию необходимо будет иметь частичное представление, связанное с ним, а не обычное представление с главной страницей.

так что сделайте новое действие. добавить вид, установите флажок частичный вид. и поместите все, что вы хотите перезагрузить в этом частичном представлении.

0 голосов
/ 29 июня 2010

В качестве альтернативы ответу json вы можете вернуть html.Все, что вам нужно сделать, это отфильтровать и получить HTML, который вы хотите добавить из переменной 'data'.

0 голосов
/ 29 июня 2010

Вы хотите использовать

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

из вашего метода ActionResult.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...