Как создать метод в контроллере MVC, чтобы он стал AJAX Callable? - PullRequest
0 голосов
/ 08 февраля 2012

Как создать метод в Контроллере, чтобы он стал AJAX Callable?

Например, к коду {0} можно получить доступ, используя {1}, когда тип возвращаемого значения - ActionResult:

{0}:
public ActionResult TestWithActionResult(string id)
        {
            return View();
        }

{1}:
http://localhost:4574/ControllerName/TestWithActionResult/2

но мой код ниже {3} не может быть доступен с помощью {4}:

{3}:
    public string TestWithString(string id)
            {
                return "some string";
            }
{4}:
http://localhost:4574/ControllerName/TestWithString/2

идентификатор в {3} всегда равен нулю, когда я открываю {4}.

Должен ли я украшать {3} по-другому?Как?

Спасибо,

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Попробуйте использовать JsonResult:

public JsonResult TestWithActionResult(string id)
{
    return Json("Some string");
}

Edit:

Вы можете вызвать функцию, используя AJAX, как это (используя Jquery)

$.ajax( 
   url: 'http://localhost/TestWithActionResult/feed1',
   type:'GET',
   dataType: 'json',
   success: function(data) { 
         //Process data
   },
   error: function(error) { }
);
0 голосов
/ 08 февраля 2012

Ваш метод должен вернуть ActionResult некоторого вида (или ViewResult, JsonResult и т. Д.), Чтобы считаться действием. Вы можете просто использовать JsonResult для записи текста в ответ.

public ActionResult TestWithActionResult(string id)
{
  return new Json("some string");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...