Способ сделать веб-страницы Asp.net более похожими на Rails MVC? - PullRequest
2 голосов
/ 06 октября 2011

AFAIK, модель веб-страниц Asp.net поддерживает только одну запись формы на страницу.Пользовательский ввод принимается с помощью:

if (isPost)
{
   // code to capture form input
}

Однако возможно ли, чтобы веб-страницы Asp.net вели себя как Rails при разрешении нескольких действий (методов) на страницу?

Iхотел бы иметь возможность, чтобы пользователь нажимал кнопку (проводя публикацию на той же странице), которая удаляет данную запись в БД, а затем обновляет ту же страницу.

Ответы [ 3 ]

8 голосов
/ 06 октября 2011

Взгляните на ASP.NET MVC .

2 голосов
/ 06 октября 2011

Ваше предположение, что модель веб-страниц Asp.Net поддерживает только одну публикацию формы на страницу, неверно. Вы можете иметь несколько форм. Вместо того, чтобы использовать простой тест IsPost, вы предоставляете разные атрибуты имени для каждой кнопки отправки, связанной с каждой формой, и проверяете, какой из них был нажат, изучая коллекцию Request.Form:

@{
  if(Request["form1"] == "submit"){
    //form1 submitted
  }
  if(Request["form2"] == "submit"){
    //form2 submitted
  }
}
...

<form method="post" id="form1">
  ...
  ...
  <input type="submit" name="form1" value="Submit" />
</form>

<form method="post" id="form2">
  ...
  ...
  <input type="submit" name="form2" value="Submit" />
</form>

Но если вам нужна среда MVC, как говорили другие, используйте ASP.NET MVC.

1 голос
/ 06 октября 2011

Вы можете использовать методы страниц jQuery и ASP.NET для отправки запроса на сервер, который вызывает функцию удаления.

Вы можете использовать jQuery для публикации формы с атрибутом действиячто указывает на функцию удаления.Вот отличный пример кода , чтобы продемонстрировать нечто подобное.(Этот пример показывает вставку, а не удаление.) Есть еще одна ссылка на тот же пример здесь, на SO .

Я должен добавить, что этот ответ предназначен для дополнения ответа Майка Бринда, которыйЯ проголосовал.

...