2015-01-10 2 views
1

Я пытаюсь вызвать метод ActionResult из формы веб-страницы, но я не могу получить два элемента для подключения.Вызвать метод ActionResult с помощью кнопки

Желаемый результат - для обновления страницы и фильтрации модели для отображения требуемых результатов.

Метод в serversController.cs

Внутренний код работает как задумано при размещении в ActionResult Index

[HttpPost] 
public ActionResult activeServers() 
{ 
    // load the servers into local variable 
    var servers = from s in db.Servers 
        select s; 

    // filter out the archived servers 
    servers = servers.Where(s => s.archive.Equals(0)); 

    return View(servers.ToList()); 
} 

Кнопка принятия вызова

@using (Html.BeginForm()) 
{ 
    <button name="activeServers" type="submit" value="activeServers" class="btn btn-default">Active</button> 
} 

Благодаря это заранее

ответ

1

Попробуйте указать метод действия, имя контроллера (без controller суффикса) и метод HTTP (он по умолчанию GET) в BeginForm:

@using (Html.BeginForm("activeServers", "Servers", FormMethod.POST)) 
{ 
    <button name="activeServers" type="submit" value="activeServers" class="btn btn-default">Active</button> 
} 
+0

С помощью этого кода я получаю посланный на URL ' http: // localhost: 23952/serversController/activeServers' вместе с ошибкой 404. URL должен быть http: // localhost: 23952/servers/Index'. Замена имени контроллера серверами достигает метода, но на веб-странице появляется сообщение об ошибке, указывающее на его поиск под названием «activeServers». – tonyedwardspz

+0

Ваше действие называется 'activeServers', если вы хотите отправить ему запросы, тогда вы должны указать его в BeginForm. Я обновлю часть имени контроллера –

Смежные вопросы