Передача переменной из метода [HttpPost] в метод [HttpGet]

Я перенаправляю представление из метода [HttpPost] в метод [HttpGet].Я заставил это работать, но хочу знать, является ли это лучшим способом сделать это.Вот мой код:Посмотреть:
4 голоса | спросил user793468 14 J000000Thursday11 2011, 02:04:35

4 ответа


0
В ASP.NET MVC в основном есть 3 метода для реализации шаблона PRG .TempDataИспользование ---- +: = 0 =: + ---- действительно является одним из способов передачи информации для одного перенаправления.Недостаток этого подхода заключается в том, что если пользователь нажмет F5 на последней перенаправленной странице, он больше не сможет получать данные, так как они будут удалены из ---- +: = 1 =: + ----для последующих запросов:Параметры строки запросаДругой подход, если у вас мало данных для отправки, это отправлять их в виде параметров строки запроса, например:УпорствоЕще один подход, и, на мой взгляд, лучший состоит в том, чтобы сохранить эту модель в некотором хранилище данных (например, в базе данных или чем-то подобном, а затем, когда вы хотите перенаправить на действие GET, отправьте только идентификатор, позволяющий извлекать модель из любого места, где вы ее сохранили).,Вот образец:У каждого метода есть свои плюсы и минусы.Вам решать, какой из них лучше всего подходит для вашего сценария.
ответил Darin Dimitrov 14 J000000Thursday11 2011, 02:24:25
0
Если вы вставляете эти данные в базу данных, вы должны перенаправить их на действие контроллера, которое содержит эти данные в маршруте:Затем вы можете написать код в контроллере, чтобы получить данные обратно из базы данных для отображения:
ответил Dismissile 14 J000000Thursday11 2011, 02:23:17
0
Одно из переопределений ---- +: = 0 =: + ---- выглядит так:Вы можете использовать это как:Надеюсь, что это работает.
ответил sTodorov 14 J000000Thursday11 2011, 02:22:56
0
Это классический шаблон Post-Redirect-Get (PRG), и он выглядит хорошо, но я бы добавил немного кода.В методе DisplayStudent проверьте, не равны ли ваши переменные TempData значения NULL, в противном случае выполните перенаправление на какое-либо действие индекса по умолчанию.Это в случае, если пользователь нажимает клавишу F5, чтобы обновить страницу.
ответил Daniel Lee 14 J000000Thursday11 2011, 02:36:54

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132