AJAX Call с использованием jquery в asp.net mvc

1
задан Jason Berkan 19 August 2010 в 15:50
поделиться

3 ответа

[HttpPost]
public JsonResult EditAjax(string companyName, string imageValue) {
   // do stuff here


   return Json(object);
}
0
ответ дан 2 September 2019 в 22:00
поделиться

После отправки формы ajax связыватель модели ASP.NET MVC сопоставит параметр POST «imageValue» с параметром метода действия.

Предполагая, что ваши маршруты настроены правильно, следующее должно работать:

public class HomeController {
    [HttpPost]
    public ActionResult EditAjax(string companyName, string imageValue) {
       //companyName == "BuildingCompany"
       //imageValue == "The Image source"
    }
}

Настройка маршрута должна выглядеть примерно так:

routes.Add(new Route("{companyName}/{action}",
    new RouteValueDictionary { { "controller", "Home" } },
    new UIRouting()));
2
ответ дан 2 September 2019 в 22:00
поделиться

Решение Игоря будет работать, если вы используете AJAX для обычной отправки формы, но вы отправляете JSON, поэтому необходим дополнительный шаг.

В библиотеке MVC futures (доступна на CodePlex) есть JSONValueProvider. Загрузите библиотеку и ссылайтесь на Microsoft.Web.Mvc.

В метод Global.asax.cs Application_Start() добавьте строку:

ValueProviderFactories.Factories.Add(new Microsoft.Web.Mvc.JsonValueProviderFactory());

Это позволит вашим методам действий моделировать привязку к JSON, как вы обычно делаете. Возможно, вы уже знаете это, но поскольку вы используете JSON, вы можете вернуть

Json(object)

Который сериализует ваш объект в JSON, отправит правильный content-type и т.д. для вас.

0
ответ дан 2 September 2019 в 22:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: