0

Мои методы действий выглядит следующим образом:Как использовать несколько действий с тем же именем при маршрутизации с помощью Html.BeginForm?

public ActionResult Index() 
{ 
    return View(); 
} 

public ActionResult Index (string Name) 
{ 
    return View(); 
} 

Во-первых, будет называться первым actionmethod (Index без параметров). И после ввода ввода другой метод действия (индекс с параметрами) будет вызываться из первого метода действия (индекс без параметров).

Симметричного для перенаправления на второй actionmethod (индекс с parameeters), я использую следующий код:

@using (Html.BeginForm("Index", "SegmentReport", FormMethod.Get)){} 

в первом методе действия

Я попытался с помощью HttpGet и HttpPost для того, чтобы достичь этого

Но второй метод действия не вызван, когда я нажимаю кнопку отправки, которая присутствует в методе 1-го действия

Но когда я даю другое имя метода действия, и когда я использую 2 представления, я могу добиться этого.

Может ли кто-нибудь помочь мне с этим?

+0

есть два метода индекса httpget? – MstfAsan

+0

№ 1-й метод - httpget, а второй метод - httpppost – Priya

+0

remove FormMethod.Get из этого оператора – MstfAsan

ответ

1

Украсьте действия с атрибутом для HttpGet и HttpPost differentiaiting первую очередь:

[HttpGet] 
public ActionResult Index() 
{ 
    return View(); 
} 
[HttpPost] 
public ActionResult Index (string Name) 
{ 
    return View(); 
} 

и теперь, если вы хотите вызвать действие, которое фот Получить использовать FormMethod.Get в Html.BeginForm конструктору и использовать FormMethod.Post, если вы хотите позвонить action for Post, btw по умолчанию будет использовать FormMethod как Post, если вы не укажете его в contructor.