отправьте и доберитесь с той же сигнатурой метода

Я решил эту проблему, переместив BottomNavigationView из ConstraintLayout после объединения двух файлов .xml. Спасибо за поддержку @Vishrut Mavani

53
задан Liam 18 June 2015 в 06:01
поделиться

5 ответов

Переименуйте второй метод к чему-то еще как "Friends_Post", и затем можно добавить [ActionName("Friends")] припишите второму. Так запросы Другу действие с POST как тип запроса, будет обработан тем действием.

// Get:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Friends()
{
    // do some stuff
    return View();
}

// Post:
[ActionName("Friends")]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Friends_Post()
{
    // do some stuff
    return View();
}
117
ответ дан Çağdaş Tekin 7 November 2019 в 08:22
поделиться

не совсем уверенный, если бы это - корректный путь, но я использовал бы бессмысленный параметр для дифференциации вздохов. как:

// Get:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Friends(bool isGet)
{
    // do some stuff
    return View();
}

// Post:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Friends()
{
    // do some stuff
    return View();
}

Я знаю, что это ужасно и hackish, но это работает.

2
ответ дан Ariel 7 November 2019 в 08:22
поделиться

Отмечание ответа cagda как ответ, так как это ответило на мой вопрос. Однако, так как мне не нравится использовать атрибут ActionName в моем проекте, я использую другое решение. Я просто добавил FormCollection к действию "сообщения" (который заканчивает тем, что изменил сигнатуру метода),

// Get:
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Friends()
{
    // do some stuff
    return View();
}

// Post:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Friends(FormCollection form)
{
    // do some stuff
    return View();
}
2
ответ дан codette 7 November 2019 в 08:22
поделиться

добавьте к методу Сообщения параметрические усилители, чтобы хотеть получить в сообщении. возможно, как это:

// Post:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Friends(string friendName, string otherField)
{
    // do some stuff
    return View();
}

.. или если у Вас есть составной тип, как это:

// Post:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Friends(Friend friend)
{
    // do some stuff
    return View();
}

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

1
ответ дан Matt Kocaj 7 November 2019 в 08:22
поделиться

Если вам действительно нужна только одна процедура для обработки обоих глаголов, попробуйте следующее:

[AcceptVerbs("Get", "Post")]
public ActionResult ActionName(string param1, ...)
{
//Fun stuff goes here.
}

Одна потенциальная оговорка: я использую MVC release 2. Не уверен, поддерживалось ли это в MVC 1. Документация Intellisense для AcceptVerbs должна сообщить вам об этом.

20
ответ дан 7 November 2019 в 08:22
поделиться
Другие вопросы по тегам:

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