ASP.NET MVC 2.0 JsonRequestBehavior глобальная установка

Общие сценарии оболочки часто должны находить свой "домашний" каталог, даже если они вызываются как символьная ссылка. Сценарий таким образом должен найти их "реальное" положение всего от 0$.

cat `mvn`

на моей системной печати сценарий, содержащий следующее, которое должно быть хорошим намеком, в чем Вы нуждаетесь.

if [ -z "$M2_HOME" ] ; then
  ## resolve links - $0 may be a link to maven's home
  PRG="$0"

  # need this for relative symlinks
  while [ -h "$PRG" ] ; do
    ls=`ls -ld "$PRG"`
    link=`expr "$ls" : '.*-> \(.*\)$'`
    if expr "$link" : '/.*' > /dev/null; then
      PRG="$link"
    else
      PRG="`dirname "$PRG"`/$link"
    fi
  done

  saveddir=`pwd`

  M2_HOME=`dirname "$PRG"`/..

  # make it fully qualified
  M2_HOME=`cd "$M2_HOME" && pwd`
39
задан Jeff Atwood 27 April 2010 в 01:11
поделиться

2 ответа

Это, как и другие специфичные для MVC настройки, не может быть изменено через Web.config. Но у вас есть два варианта:

  1. Переопределить Controller.Json (object, строка, кодировка) для вызова Json (объект, строка, кодировка, JsonRequestBehavior), передавая JsonRequestBehavior.AllowGet в качестве последнего аргумента. Если вы хотите, чтобы это применялось ко всем контроллерам, сделайте это внутри абстрактного базового класса контроллера, а затем сделайте подкласс всех ваших контроллеров этого абстрактного класса.

  2. Создайте метод расширения MyJson (this Controller, ...), который создает JsonResult и устанавливает соответствующие свойства, а затем вызывает его из вашего контроллера через this.MyJson (...).

26
ответ дан 27 November 2019 в 02:45
поделиться

Блок MVC 2 Json для запросов GET по соображениям безопасности. Если вы хотите переопределить это поведение, проверьте перегрузку для Json, которая принимает параметр JsonRequestBehavior.

public ActionResult Index()

{

   return Json(data, JsonRequestBehavior.AllowGet)

}
3
ответ дан 27 November 2019 в 02:45
поделиться
Другие вопросы по тегам:

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