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

Код: c#
1.
@Html.Action("MyChildAction", "MyController", { id = SomeId })


если страница рендерится в результате выполнения метода POST, то вызывается POST-версия MyChildAction (если такая есть). бред? или логично?
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38323368
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
логично ж...сабмит делает пост бек и неважно сколько там форм
легко решается переименованием акшена на пост )
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38323415
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
handmadeFromRu,

ну так на странице может быть не один <form>, а постбек выполняется только для той формы, где был вызван submit. а так получается, если в ChildAction сидят формы, им всем придёт POST. а в модель попадёт только то, что было засабмичено. на мой взгляд как-то совсем не логично.

конечно решается ) в том числе и проверкой на ControllerContext.IsChildAction
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38323705
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostthandmadeFromRu,

ну так на странице может быть не один <form>, а постбек выполняется только для той формы, где был вызван submit. а так получается, если в ChildAction сидят формы, им всем придёт POST. а в модель попадёт только то, что было засабмичено. на мой взгляд как-то совсем не логично.

конечно решается ) в том числе и проверкой на ControllerContext.IsChildAction
Вложенные формы не получатся.
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324007
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

как это? т.е. считаете, такое поведение ради вложенных форм?
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324073
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

А чё там в итоге-то на странице получается?
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324081
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge,

@Html.Action("ChildAction", "Controller", new { id = SomeId })

видите? я передаю один параметр, и жду отрендеренного акшена. а при посте любой формы на странице, вместо этого чайлд получает данные совершенно левой формы, о которой он даже не догадывается (откуда, да и зачем ему знать, где его рендерят?)

в итоге в чайлде ModelState.IsValid == false, со всеми вытекающими... если конечно это не учесть :)
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324123
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt@Html.Action("ChildAction", "Controller", new { id = SomeId })

видите? я передаю один параметр, и жду отрендеренного акшенаДак какой результат рендеринга ты ждёшь, а что получается в итоге на странице?
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324127
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если аттрибут ставить [ChildActionOnly] ?
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324173
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

без разницы. влияет лишь на то, что не получится выполнить вот такое: domain.tld/Controller/MyChildAction (результат будет 404)
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324190
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

@Html.Action("ChildAction", "Controller", new { id = SomeId })

чтобы отрендерился GET, а не POST. когда будет единоличный POST (например, там сидит Ajax.BeginForm), вот тогда мне нужен будет результат POST-версии акшена.

просто удивительно, что при выполнении [HttpPost] Action, при рендеринге страницы (т.е. при отработке ExecuteResult) выполняются как POST запросы ко всем [HttpPost] ChildAction на странице, и получают они все одно и тоже — что было засабмичено.

может это и правильно. как думаете?
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324233
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttможет это и правильно. как думаете?
Думаю нужно избегать там логики, кроме генерации партиал вью )
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324245
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Парамон,

ну вот и я очем. должна быть чистая генерация вью. а получается уже логика.

или прикажете отказаться от Html.Action?
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324260
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttили прикажете отказаться от Html.Action?
Разве что в пользу Html.RendAction )
То, что там доступны переменные пост, это плюс, и может пригодится.
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324263
Парамон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* Html.RenderAction
...
Рейтинг: 0 / 0
Html.Action -- вы знали?
    #38324274
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зачем ж отказываться, просто get Edit, а на post EditPost. хотя когда впервые я столкнулся с таким тоже был удивлен)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Html.Action -- вы знали?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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