Обнаружение прямой публикации в действии контроллера - PullRequest
0 голосов
/ 08 сентября 2010

Есть ли способ определения, если Контроллер публикуется напрямую или действие является результатом публикации предыдущей формы?

1 Ответ

0 голосов
/ 08 сентября 2010

Не уверен, что я понимаю ваш вопрос, но если вы спрашиваете о разнице между пользователем, набирающим адрес в адресной строке браузера и нажимающим клавишу ввода (доступ к вашей странице через глагол GET), и тем, кто уже находится на странице и нажав кнопку отправки формы (обычно это глагол POST, хотя иногда это может быть и GET), вы можете посмотреть на значение свойства HttpRequest.HttpMethod :

public ActionResult MyMethod() {
  if(this.Request.HttpMethod == "POST") {
    // form submitted
  }
  if(this.Request.HttpMethod == "GET") {
    // accessed directly
  }
}

Если вы хотите ограничить свой метод действия только обработкой определенного HTTP-глагола, вы также можете использовать атрибуты:

[HttpGet]
public ActionResult MyMethod() {
  // only invoked if the request is a GET
}

[HttpPost]
public ActionResult MyMethod(string formInput) {
  // only invoked if the request is a POST
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...