powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / модель полей выбора для отчета
2 сообщений из 2, страница 1 из 1
модель полей выбора для отчета
    #39453276
r00xus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здравствуйте коллеги.

У меня есть модель CReportParamModel, которая является параметрами выбора отчета и контроллер с действием Params. Если запро GET то есть пользователь просто зашел на старицу и еще не нажал кнопку Submit, то создается модель и передается в представление. Если же пользователь уже нажал Submit, то модель передается через запрос и, если валидация сработала, то выгружается отчет в Excel и снова рендериться представление с уже полученной моделью. Вот код контроллера:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public class ReportController : Controller
{
	public ActionResult Params(CReportParamModel in_model)
	{
		CReportParamModel model;

		if (Request.HttpMethod == "POST")
		{
			model = in_model;
			if (ModelState.IsValid)
			{
				// возвращаем отчет в Excel
			}
		}
		else
			model = new CReportParamModel();

		return View(model);
	}
}	



Проблема в том, что валидация срабатывает даже если пользователь еще не передал модель submit-ом. Чтобы ее не было нужно убрать параметр action-а CReportParamModel in_model, но тогда как получать модель?

Подскажите пожалуйста как правильно организовать такую логику?
...
Рейтинг: 0 / 0
модель полей выбора для отчета
    #39453398
Kykapa4a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
r00xus, попробуй такой вариант

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
public class ReportController : Controller
{

        [HttpGet]
        public ActionResult Params()
        {
            var model = new CReportParamModel();

            return View(model);
        }

        [HttpPost]       
        public ActionResult Params(CReportParamModel in_model)
        {
            if (in_model == null)
            {
                return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
            }
            if (ModelState.IsValid)
            {
                // возвращаем отчет в Excel
            }

            return RedirectToAction("Index");
        }
}	
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / модель полей выбора для отчета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]