Там нет ничего плохого в использовании мультипликатора Html.Action()
вызовов Фототурова, однако нужно учитывать, если это лучший вариант для вас использовать.
Определение того, что вы хотите сделать
Html.Action()
собирается вызвать действие контроллера, когда вид первоначально оказанной, и он будет выполнять действия, в представлении, а затем он может или не может вернуться другой вид/Частичный вид.
Вы упомянули следующее в своем сообщении:
Моя проблема заключается в том, что представления один будет представлять другой. Это плохо Практика использования url.action для отображения представления создания - потому что он хорошо работает, когда я использую только один url.action.
Это похоже на то, что вы на самом деле хотите, чтобы они функционировали как ссылки и когда их нажимали, чтобы их можно было назвать. Если это так, то вы можете быть лучше либо создать ссылку, указывающую на соответствующее действие через Url.Action()
или Html.ActionLink()
помощников:
<a href='Url.Action("Create", "MPost", new { TaskId = Model.TaskId, TaskTitle = Model.Title })'>Create New Post!</a>
Они будет выполнять основные GET
запросов к вашим действиям контроллера, как вы могли бы ожидать. Если вам нужно на самом деле POST
значения, то вы должны рассмотреть возможность использования <form>
и его представление:
<form action='@Url.Action("Vote", "Vote", new { TaskId = Model.TaskId})'>
<input type='submit' value='Cast Your Vote!' />
</form>
В общем, если у вас есть два отдельных URL-адреса, которые могут размещающие значение, вы должны рассмотреть вопрос о размещении их каждых в пределах своих собственный <form>
, чтобы избежать путаницы или возможной публикации в неправильном месте. Использование ссылок будет работать очень хорошо, но имейте в виду, что они перенаправят пользователя в представление, которое возвращается из действия контроллера, которое вы нажимаете.
Просьба поделиться своим мнением. – ssilas777